使用 Python 读取和写入文件

每种编程语言处理数据文件的方式都不同。这是 Python 的处理方式。
58 位读者喜欢这篇文章。
Hands on a keyboard with a Python book

WOCinTech Chat。由 Opensource.com 修改。CC BY-SA 4.0

有些数据是临时的,在应用程序运行时存储在 RAM 中,然后被遗忘。然而,有些数据是持久性的。它存储在硬盘驱动器上以供以后使用,而且通常是用​​户最关心的东西。对于程序员来说,编写代码来读取和写入文件非常常见,但是每种语言处理这项任务的方式都略有不同。本文演示了如何使用 Python 处理数据文件。

安装 Python

在 Linux 上,您可能已经安装了 Python。如果还没有,您可以从发行版的软件仓库中安装它。例如,在 CentOS Stream 或 RHEL 上

$ sudo dnf install python3

在 macOS 上,您可以从 MacPortsHomebrew 安装 Python。在 Windows 上,您可以从 Chocolatey 安装 Python。

安装 Python 后,打开您喜欢的文本编辑器,准备开始编写代码。

使用 Python 将数据写入文件

如果您需要将数据写入文件,需要记住以下三个步骤

  1. 打开
  2. 写入
  3. 关闭

这与您编写代码、编辑照片或在计算机上执行几乎任何操作时使用的步骤完全相同。首先,您打开要编辑的文档,然后进行一些编辑,然后关闭文档。

在 Python 中,这转化为以下过程

f = open('example.txt', 'w')
f.write('hello world')
f.close()

在此示例中,第一行以写入模式打开文件。该文件表示为变量 f,这是一个任意选择。我使用 f 是因为它在 Python 代码中似乎很常见,但是任何有效的变量名都可以正常工作。

您可以打开文件的不同模式

  • w 写入
  • r+ 读取和写入
  • a 仅追加

示例的第二行将数据写入文件。此示例中写入的数据是纯文本,但是您可以写入任何类型的数据。

最后一行关闭文件。

使用 'with' 语法写入数据

有一种更短的方法将数据写入文件,这种方法对于快速文件交互非常有用。它不会保持文件打开状态,因此您不必记住调用 close() 函数。相反,它使用 with 语法

with open('example.txt', 'a') as f:
    f.write('hello open source')

使用 Python 从文件中读取数据

如果您(或您的用户,通过您的应用程序)已将数据放入文件中,并且您的代码需要检索它,那么您需要读取文件。与写入类似,逻辑是

  1. 打开
  2. 读取
  3. 关闭

同样,这种逻辑流程反映了您从使用计算机(或平装书)中已经了解的内容。要阅读文档,您需要打开它,阅读它,然后关闭它。在计算机术语中,“打开”文件意味着将其加载到内存中。

在实践中,文本文件包含不止一行。例如,您的代码可能需要读取配置文件、保存的游戏数据或您乐队的下一首歌曲的歌词。正如您不会在打开物理书的那一刻就阅读整本书一样,您的代码必须解析已加载到内存中的文件。因此,您可能需要迭代文件的内容。

f = open('example.tmp', 'r')

for line in f:
    print(line)

f.close()

在此示例代码的第一行中,您以读取模式打开文件。该文件由变量 f 表示,但是就像您打开文件进行写入一样,变量名是任意的。f 没有什么特别之处;它只是表示“文件”这个词的最短方式,因此 Python 程序员倾向于大量使用它。

在第二行中,您保留 line,这是另一个任意变量名,用于表示 f 的每一行。这告诉 Python 逐行迭代文件的内容,并将每一行打印到您的输出(在本例中为终端或 IDLE)。

使用 'with' 语法读取文件

与写入数据一样,有一种使用 with 语法从文件中读取数据的更短方法。这不需要您调用 call() 函数,因此对于快速交互来说可能很方便。

with open('example.txt', 'r') as f:
    for line in f:
        print(line)

文件和 Python

还有更多使用 Python 将数据写入文件的方法,以及许多使用 JSON、YAML、TOML 等格式化您写入文件的文本的方法。还有一个非常好的内置方法来创建和维护 SQLite 数据库,以及许多库来处理任意数量的文件格式,包括 图形、音频、视频等等。

接下来阅读什么
标签
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算行业工作,而且经常同时进行。

2 条评论

在实践层面,读取和写入文件是编程中最基本的事情之一。除此之外,接下来就是解析您读取的内容。

Creative Commons License本作品根据 Creative Commons 许可协议获得许可,许可协议为署名-相同方式共享 4.0 国际许可。
© . All rights reserved.