文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第8单元 使用文件
文件是用于长期存储数据的非易失性容器。与文件相关的常见操作包括打开文件,从文件读取数据或将数据写入文件,以及关闭文件。你可以打开文件进行读取(默认模式,定义为"r")、(覆盖)写入("w")或追加写入("a")。以写入方式打开文件,会在没有任何通知的情况下,破坏文件的原始内容;另外,试图打开一个不存在的文件进行读取操作会导致异常:
f = open(name, mode="r") « read the file » f.close()
Python给这种编程范式提供了一个有效的替代品:with语句。with语句允许显式地打开一个文件,同时保证在退出Python后能自动关闭文件,从而避免了跟踪那些已打开却不再需要的文件。
with open(name, mode="r") as f: « read the file »
一些模块,例如pickle模块(第12单元讨论了该模块的使用),要求以二进制模式("rb"、"wb"或"ab")打开文件。在读取或写入原始二进制数组时,同样需要使用二进制模式。以下函数能从已打开的文件f中读取文本数据:
f.read() # 以字符串或二进制的方式读入所有数据 f.read(n) # 以字符串或二进制的方式读入前n字节的数据 f.readline() # 以字符串的方式读入下一行 f.readlines() # 以字符串的方式读入所有行
根据实际需要,可以混合和搭配使用这些函数。例如,可以读取第一个字符串,接着读取下5个字节,然后再读下一行,最后读取文件的剩余部分。这些函数的返回结果都不会删除换行符。通常,在不确定文件是否较小的情况下,使用函数read()和readlines()是不安全的。
以下函数将文本数据写入已打开的文件f:
f.write(line) # 写字符串数据或二进制数据 f.writelines(ines) # 写字符串数据列表
这些函数不会在写入的字符串末尾添加换行符。如果需要,你得自己添加。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论