Python 快速入门笔记(10):文件及目录操作
本系列随笔是本人的学习笔记,初学阶段难免会有理解不当之处,错误之处恳请指正。转载请注明出处:https://www.cnblogs.com/itwhite/p/12303495.html。
文件读写
最原始的读写方法
Python 中读写文件可使用 io 模块(自动导入)中的函数(open()、write()、read()、close()等),示例:
>>> f = open("test.txt", "w") # 以“写”模式打开,如果不存在则新建,如果已经存在会清空
>>> f.write("Hello world!") # 写入文本
>>> f.close() # 关闭文件句柄
>>> f = open("test.txt") # 以“读”模式打开(默认是文本模式)
>>> f.read(3) # 读取 3 个字节
'Hel'
>>> f.read() # 读取剩余所有内容
'lo world!'
>>> f.close()
另外,关于文件还可以按行读取,使用 readline() 读取一行(包括换行符),使用 readlines() 读取所有行(返回一个列表)。
配合 with 语句读取文件
open() 函数返回的文件对象配合 with 语句会在 with 语句结束时自动关闭文件句柄,从而无需用户自行关闭文件句柄,例如:
with open("file.txt") as f:
for line in f.readlines():
print(line)
更多关于 with 语句的描述请参考: https://www.cnblogs.com/itwhite/p/12218032.html 中“with 语句”一节。
文件迭代器
open() 函数返回的文件对象还支持直接迭代,例如:
for line in open("file.txt"):
print(line)
# 或者直接使用
lines = list(open("file.txt"))
注意:这种方式无法显式地关闭文件句柄,猜测要等文件对象析构时 python 会自动关闭(未验证过)。