返回介绍

第8单元 使用文件

发布于 2024-01-28 22:01:16 字数 965 浏览 0 评论 0 收藏 0

文件是用于长期存储数据的非易失性容器。与文件相关的常见操作包括打开文件,从文件读取数据或将数据写入文件,以及关闭文件。你可以打开文件进行读取(默认模式,定义为"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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文