文件一般分为两类:
1、文本文件 .txt .bat
2、二进制文件:除了文本文件,其他的都是二进制文件。
文件处理步骤:
1、打开文件:用open函数获取文本对象。
2、读取写入:
3、关闭文件:
f = open(file = 'a.txt') #打开文件
data = f.read() #读取文件
f.close() #关闭文件
try:
f = open(file='d.txt',mode='w')
f.write('正在测试写入功能')
finally:
f.close()
print('文件正常关闭')
#注意:当文件读取完毕后,必须要关闭,可以使用try...finally的方式
获取文件对象:open(file,mode,encoding)
file: 文件名/文件路径。必须。文件路径分为相对路径和绝对路径。
相对路径:以当前的位置作为参照。如果向下一级目录查找,使用“/文件夹名或文件名”。如果向上一级目录查找,使用“../”
绝对路径:以盘符开头,如'D:\python编程\pythonbase\a.txt' 或者网址'https://edu.youkuaiyun.com/'
mode: 模式。如果不写,默认是读的模式。
文件打开的模式:
读写相关:
r(默认):以读的模式打开,如果文件不存在,会报错。
w:以覆盖写的模式打开,如果文件不存在,会创建文件。
a:以追加写的模式打开,如果文件不存在,会创建文件。
文本、二进制相关:
t:以字符串模式打开 (默认)
b:以二进制的模式打开
encoding: 编码格式
读取文件方式:
read():从文件中读取指定字节数或字符数,如果不写或者复数,表示读取所有。
readline():读取整行,会保留原文本末尾的换行符。
readlines(): 读取所有行,并返回列表,列表中的每个元素就是文件中每一行的数据,每行都会保留末尾的换行符。
写入文件的方式:
write():将字符串写入文件,返回的是写入的字符长度。
writelines():向文件中写入一个序列字符串的列表,如果需要换行,则需手动添加换行符。
使用with语句就不需要手动去关闭文件了。
with open(file='a.txt',mode='rt',encoding='utf8') as f:
print(f.read())
with语句体,其实是一个上下文管理器。在open()方法中实现上下文管理器的功能。
在类中实现__enter__和__exit__方法,我们就说这个类是一个上下文管理器。