在 Python 中读取文件

Python 中读取文件意味着访问并检索文件的内容,无论是文本、二进制数据还是像 CSV 和 JSON 这样的格式。这在现实世界的应用程序中被广泛使用,例如读取配置文件、处理日志或处理数据科学中的数据集。

示例文件:example.txt

> Hello World

> Hello Everyone

基础文件读取

基础文件读取包括打开文件、读取其内容以及正确关闭它以释放系统资源。

步骤:

  • 打开文件: open("filename", "mode") 以指定模式(例如,读取模式 "r")打开文件。
  • 读取内容: 使用 read()、readline() 或 readlines() 方法。
  • 关闭文件: close() 确保释放系统资源。

示例: 这段代码打开一个文件,一次性读取其所有内容,打印出来,然后关闭文件。

Python


CODEBLOCK_0f0ab8ed

输出:

> Hello World

> Hello Everyone

解释: 这段代码以读取模式打开 example.txt,将其所有内容读取到一个字符串中,打印它,然后关闭文件以释放资源。

最佳实践:使用 with 语句

除了手动关闭文件外,我们可以使用 with 语句。它确保在代码块结束时自动关闭文件。

示例: 这段代码打开文件,读取其内容,并在使用后自动关闭它。

Python


CODEBLOCK_05da95dd

输出:

> Hello World

> Hello Everyone

解释: 使用 with open(...),文件会被自动关闭,从而防止资源泄漏。

逐行读取文件

我们可能想要逐行读取文件,这对于一次性读取全部内容不切实际的大文件来说尤其有用。我们可以通过以下两种方法来实现:

  • for line in file: 迭代文件中的每一行。
  • line.strip(): 删除任何前导或尾随的空白字符,包括换行符。

示例 1: 使用循环逐行读取

这段代码逐行读取每一行,并删除多余的换行符。

Python


CODEBLOCK_85897434

输出:

> Hello World

> Hello Everyone

解释: 此方法每次读取文件的一行,并在删除前导/尾随空白后打印它。
示例 2: 使用 readline()

readline() 方法每次读取一行。我们可以在循环中不断调用它,直到没有剩余行为止。

Python


CODEBLOCK_e2e26f1e

输出:

> Hello World

> Hello Everyone

解释: 此方法每次读取一行,这对于处理非常大的文件非常有用,因为一次性将全部内容加载到内存中效率不高。

读取二进制文件

二进制文件以非文本格式存储数据。这些文件可以包括图像、可执行文件或任何非文本数据。我们使用以下方法来读取二进制文件

> open("example.bin", "rb"): 以读取二进制模式打开文件 example.bin。

示例: 读取二进制文件

这段代码读取整个二进制文件并打印其原始字节内容。

Python


CODEBLOCK_63c2f2dd

输出:

> b‘Hello World\r

Hello Everyone‘

解释: 这段代码以二进制模式("rb")读取文件,并将其内容作为字节打印出来,这对于处理非文本文件是必要的。

读取文件的特定部分

有时,我们可能只需要读取文件的特定部分,例如前几个字节、特定行或某个范围的行。

示例: 这段代码仅读取文件的前 10 个字符。

Python


CODEBLOCK_f118ac76

输出:

> Hello Worl

解释: 读取有限数量的字符对于在不加载整个文件的情况下快速预览内容非常有用。

读取 CSV 文件

CSV(逗号分隔值)广泛用于存储表格数据。Python 的 csv 模块有助于轻松解析 CSV。在这里,我们不需要外部文件,而是使用 io.StringIO 来模拟一个。

示例:这段代码创建了一个内存中的 CSV 字符串,并逐行读取它。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/25712.html
点赞
0.00 平均评分 (0% 分数) - 0