文件三种打开模式

文件的三种打开方式

文件操作的基础模式有三种(默认的操作模式为r模式):

  • r模式为read
  • w模式为write
  • a模式为append

文件读写内容的格式有两种(默认的读写内容的模式为b模式):

  • t模式为text
  • b模式为bytes

t,b这两种模式均不能单独使用,都需要与r/w/a之一连用.

文件打开模式之r模式

read,只读模式,只能读不能写,文件不存在时报错。

f = open('test.py','r',encoding='utf8')  # 只读  # windows的操作系统默认编码为gbk,因此需要使用utf8编码
print(f.read())  # 读取文件所有内容,  # *****
print(1,f.readline())  # 读取文件第一行
print(2,f.readline())  #读取文件第二行

for i in f:
    print(i) #可以使用这个方法循环文件
    
print(f.readable())  #是否可读
f.close()

文件打开模式之w模式

w: 只能写,不能读,文件存在的时候回清空文件后再写入内容;文件不存在的时候会创建文件后写入内容。

f=open('test.py','w',encoding='utf8') #只写 #清空后再写
print(f.readable())
f.write('abcde')
f.flush()   #立刻将文件内容从内存刷到硬盘
f.close()

文件打开模式之a模式

a: 可以追加。文件存在,则在文件的末端写入内容;文件不存在的时候会创建文件后写入内容。

f = open('test.py','a',encoding='utf8')  # 追加  # 文件末追加
f.write('nick handsome')  # *****
f.close()

文本模式t

# 文本模式t
 f = open('test.py','rt')
 data = f.read()
 print(data)

进制模式b

# 进制模式b
 f = open('python2和3的字符编码的区别.png', 'rb')
 f = open('python2和3的字符编码的区别.png', 'wb')
 f = open('python2和3的字符编码的区别.png', 'ab')
 data = f.read()
 print(data)

with管理文件上下文

with open('test.py','rt',encoding='utf8')as fr: # 自动关闭文件
    print(f.read())

with open()方法不仅提供自动释放操作系统占用的方法,并且with open可以使用逗号分隔,一次性打开多个文件,实现文件的快速拷贝。

with open('test.py', 'rt', encoding='utf8') as fr2, 
        open('test.txt', 'rt', encoding='utf8') as fr1, 
        open('test.png', 'rb') as fr3:
    data1 = fr1.read()
    print('data1', data1)
    data2 = fr2.read()
    print('data2', data2)
    data3 = fr3.read()
    print('data3', data3)
原文地址:https://www.cnblogs.com/aden668/p/11317423.html