一、文件打开
python需要调用open()方法把系统的文件打开
下面展示一下open()的源码:
def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True): # known special case of open
open()的表达式:
# 以只读模式,打开文件,文件的完整路径必须存在,不然会报错
fs = open(r"D:/test.txt", mode="r", encoding="utf-8")
二、文件读取
文件读取的方式有三种:
1read() 读取文件的所有数据,默认从头开始,读取出来为字符串
fs = open(r"D:/test.txt", mode="r", encoding="utf-8")
fs.read()
2readline() 读取一行数据,读出来为字符串
fs = open(r"D:/test.txt", mode="r", encoding="utf-8")
fs.readline()
3readlines() 按行读取所有数据,结果为列表,一行为一个成员
fs = open(r"D:/test.txt", mode="r", encoding="utf-8")
fs.readlines()
三、文件写入
文件写入数据时候,不会自动换行,需要在数据当中,加入换行符\n
1write(数据) 写入数据
fs = open(r"D:/test.txt", mode = "a", encoding = "utf-8")
fs.write("xxx")
fs.close() # 需要关闭该文件,以防一直占用该文件资源
2writeline(列表) 写入列表当中的每个成员
fs = open(r"D:/test.txt", mode = "a", encoding = "utf-8")
fs.writeline("xxx")
fs.close()
四、文件读写的模式
mode = "r" 表示只读
mode = "w" 表示写入,如果文件不存在,会重新创建一个;如果文件存在会打开,清除之前已写入的内容,从头开始写
mode = "a" 表示写入,意思为文件追加: append,如果文件不存在,会重新创建一个;如果文件存在就打开,直接在文件末尾,接着写入
五、上下文管理器with:
使用with操作文件的好处:会启动文件的上下文管理器,不需要关闭文件,会自动关闭文件
比单独调用close()好,项目代码大部分都使用上下文管理器
# 上下文管理器-读取文件
with open(r"D:/test.txt","r") as file:
print(file.read())
# 上下文管理器-写入文件
with open(r"D:/test.txt","r") as file:
file.write("xxx")