使用 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 没有任何特殊之处;它只是表示“file”一词的最短可能方式,因此 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本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.