aden668

文件的三种打开方式

文件操作的基础模式有三种(默认的操作模式为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)

分类:

技术点:

相关文章: