python基础学习——文件处理模式:读r&写r&追加a&r+可读可写

1、文件处理流程

  1)打开文件,得到文件句柄并赋值给一个变量

  2)通过句柄对文件进行操作

  3)关闭文件

  4)文件读写的参数必须是字符串

  5)样例

f=open("陈情令","r",encoding="utf8") #open("陈情令",encoding="utf8")文件句柄,
# "陈情令"是文件路径,当文件在同一层级路径时,可以直接写文件名,取相对路径
#f就是变量
#默认为只读模式r data=f.read()#读取文件全部内容 print(data) f.close()#关闭文件

2、文件处理:读模式

f=open("陈情令","r",encoding="utf8") #open("陈情令",encoding="utf8")文件句柄,
print("第1行:",f.readline(),end="") #去掉换行
print("第2行:",f.readline())
print("第3行:",f.readline())
print("第4行:",f.readline())
print("第5行:",f.readline())
print("第6行:",f.readline())
print(f.readable()) #判断文件模式是否是可读模式
print("第7行:",f.readline())
print("第8行:",f.readline())
f.close()
方式二:
f=open("陈情令","r",encoding="utf8") #open("陈情令",encoding="utf8")文件句柄,
print("第1行:",f.readline(),end="") #去掉换行
print("第2行:",f.readline())
print("第3行:",f.readline())
print(f.readable()) #判断文件模式是否是可读模式
data1=f.readlines()#读取文件所有内容,放到一个列表当中
print(data1)

f.close()

3、文件处理:写模式

   如果文件存在内容,启动写模式时,会清空文件内容,等待写入

   如果文件不存在,启动写模式时,会创建一个新文件,等待写入,写模式只能写不能读

f=open("肖战哥哥","w",encoding="utf8") 
print(f.writable())
f.write("1111
22222
I love you 战哥
")
f.writelines(["祝福
","我爱你战哥"])
f.close()

4、文件处理:追加模式a

f=open("肖战哥哥","a",encoding="utf8") 
f.write("平静
自我
I love you 战哥
")
f.writelines(["不忘初心继续前进","爱你"])
f.close()

5、文件其他处理:可读可写r+  和 自动关闭文件with

#可读可写r+
f=open("肖战哥哥","r+",encoding="utf8")
data=f.read()
print(data)
f.write("I love you 战哥
")
f.close()
with open("肖战哥哥","r",encoding="utf8") as f1,
    open("王一博酷盖","w",encoding="utf8") as f2:
    data=f1.read()
    f2.write(data)
#从原文件f1中读取全部数据,将f1数据写到第二个文件f2中去
#with会同时关闭f1和f2文件

 6、文件处理的b模式:原生文件处理方式:二进制

  1)文件默认的处理方式是文本方式 rt wtat处理,但是图片和视频都是二进制方式处理

  2)二进制方式处理的文件是可以跨平台的

#方式一:rb

f=open("陈情令","rb") #b方式不可以指定编码
data=f.read()
print(data)
print(data.decode("utf8"))
f.close()

#b'xe8x82x96xe6x88x98xe5x93xa5xe5x93xa5xe5x8axa0xe6xb2xb9xefxbcx8cxe6x88x91xe7x9ax84xe5x81xb6xe5x83x8fxefxbcx81
xe6xa6x9cxe6xa0xb7xe7x9ax84xe5x8ax9bxe9x87x8fxefxbcx8cxe6x88x91xe4xb9x9fxe8xa6x81xe5x8axa0xe6xb2xb9xefxbcx81
xe4xb8x8dxe5xbfx98xe5x88x9dxe5xbfx83xefxbcx8cxe8xb4xb5xe5x9cxa8xe5x9dx9axe6x8cx81xefxbcx81
xe4xbbxbbxe4xbdx95xe4xbax8bxe6x83x85xe9x83xbdxe8xa6x81xe5x9dx9axe6x8cx81xefxbcx8cxe5x9dx9axe6x8cx81xe8x87xaaxe5xb7xb1xe7x9ax84xe5x88x9dxe5xbfx83xefxbcx8cxe5x8axaaxe5x8ax9bxefxbcx8cxe7x9bxb8xe4xbfxa1xe8x87xaaxe5xb7xb1xefxbcx8cxe6x89x8dxe5x8fxafxe8x83xbdxe5xbex97xe5x88xb0xe8x87xaaxe5xb7xb1xe6x83xb3xe8xa6x81xe7x9ax84xe7xbbx93xe6x9ex9cxefxbcx8cxe6x9cx9fxe5xbex85xe8x87xaaxe5xb7xb1xe7x9ax84xe5xb0x8fxe5xaex87xe5xaex99xe7x88x86xe5x8fx91
xe9x9dxa0xe4xbaxbaxe4xb8x8dxe5xa6x82xe9x9dxa0xe8x87xaaxe5xb7xb1
xe8x87xaaxe5xb7xb1xe5xbcxbaxe5xa4xa7xe4xbax86xefxbcx8cxe5xaex89xe5x85xa8xe6x84x9fxe8x87xaaxe5xb7xb1xe7xbbx99'
#wb/ab

f=open("肖战哥哥","wb") #b方式不可以指定编码
f.write(bytes("赞赞爱你
",encoding="utf8"))
f.write("123木头人
".encode("utf8"))
f.close()

7、文件操作方法

原文地址:https://www.cnblogs.com/xucuiqing/p/11681965.html