目录
🎁文件读取/写入模式
- 'r'(只读模式):
- 默认模式,如果文件不存在,则抛出
FileNotFoundError
。- 文件必须存在。
- 文件指针会放在文件的开头。
- 'w'(只写模式):
- 如果文件已存在,则覆盖文件(即删除文件内容,然后从头开始写入)。
- 如果文件不存在,则创建新文件。
- 文件指针会放在文件的开头。
- 'a'(追加模式):
- 如果文件已存在,则文件指针会放在文件的末尾,写入的数据会被追加到文件末尾。
- 如果文件不存在,则创建新文件。
- 'b'(二进制模式):
- 与其他模式结合使用,如 'rb' 或 'wb',用于处理非文本文件(如图片、视频等)。
- 在二进制模式下,数据以字节的形式进行读写,而不是字符。
- '+'(读写模式):
- 与其他模式结合使用,如 'r+' 或 'w+',允许同时读取和写入文件。
- 注意:在 'w+' 模式下,如果文件已存在,其内容会被清空,因为文件指针首先被放在文件的开头。
- 'x'(独占创建模式):
- 如果文件已存在,则抛出
FileExistsError
。- 如果文件不存在,则创建新文件。
- 通常与 'w' 或 'b' 模式结合使用,如 'xw' 或 'xb'。
- 't'(文本模式):
- 默认模式,用于读写文本文件。
- 通常不需要显式指定,因为当不指定 'b' 模式时,默认就是文本模式。
- 'U'(通用换行符模式,已废弃):
- 在 Python 3.x 中已废弃,不再使用。
- 在 Python 2.x 中,用于跨平台地处理换行符。
f=open('abc.txt','r',encoding='utf-8')#读取为r
#f=open(r'D:\pycharm\1.py\abc.txt','r',encoding='utf-8') 可以用绝对路径读入,也可以直接写abc.txt,因为文件就在软件中
txt=f.read()#将文件全部读取
print(txt)
🎀open()函数
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file
:文件路径。mode
:文件打开模式,默认为 'r'(只读)。其他常用模式包括 'w'(只写,会覆盖文件),'a'(追加),'b'(二进制模式),'+'(读写模式),等等。这些模式可以组合使用,如 'rb' 或 'w+'。encoding
:用于解码或编码文件的编码方式,默认为 'utf-8'。
🎀f.readline()
🌸只读取一行
txt1=f.readline()#只读取一行
print(txt1)
🌸循环读取
#循环读取
txt=f.readline()
print(txt,end='')
while txt:
txt=f.readline()
print(txt,end='')
🎀文件读入到列表中
#将文件读入到列表
txt=f.readlines()
print(txt)
🎀关闭文件
要养成一个良好的习惯,打开文件后要关闭文件,有f.open(),文件操作完成后要进行f.close()
#用f.closed检测是否关闭文件
print(f.closed)#未关闭返回false,已关闭返回true
f.close()#关闭文件
print(f.closed)
很多时候,我们可以使用下面的模式进行读写,操作方便,可以自动关闭文件
#用这种写法在操作完后可以自动关闭文件
with open('abc.txt','r',encoding='utf-8') as f:
txt=f.read()
print(f.closed)