📜  读取文件python(1)

📅  最后修改于: 2023-12-03 14:57:43.809000             🧑  作者: Mango

读取文件 Python

在 Python 中,读取文件是一个常见的任务。无论是读取文本文件还是二进制文件,Python 提供了一系列的函数和方法来满足不同的需求。

读取文本文件

使用 Python 读取文本文件非常简单,可以使用内置的 open() 函数来实现。下面是一个示例:

with open('file.txt', 'r') as f:
    content = f.read()

在上述示例中,open() 函数接受两个参数。第一个参数是要打开的文件名(可以包含路径信息),第二个参数是模式。这里使用的模式是 'r',代表读取模式。

使用 with 语句可以确保文件在读取完后被正确关闭。读取的内容将保存在变量 content 中。如果文件不存在或无法打开,将会触发 FileNotFoundError 异常。

逐行读取文本文件

有时候,我们需要逐行读取文本文件。可以使用 readline() 方法实现。下面是一个示例:

with open('file.txt', 'r') as f:
    line = f.readline()
    while line:
        # 对每一行进行处理
        print(line)
        line = f.readline()

在上述示例中,readline() 方法每次读取一行文本,并将光标移动到下一行。当没有更多的行时,readline() 方法会返回一个空字符串,因此我们可以用它来判断是否读取到了文件的末尾。

读取二进制文件

除了读取文本文件,Python 也支持读取二进制文件,如图片、音频等。可以使用 'rb' 模式来打开文件,示例如下:

with open('image.jpg', 'rb') as f:
    content = f.read()

在上述示例中,open() 函数的第二个参数使用了 'rb' 模式,代表以二进制读取模式打开文件。

其他文件读取方法

除了使用 read()readline() 方法读取文件内容之外,还可以使用其他一些方法来满足不同的需求,如:

  • readlines():读取所有行,并将其作为字符串列表返回
  • iter() 函数结合 next(),可以逐块读取大文件,有效减少内存的使用
with open('file.txt', 'r') as f:
    lines = f.readlines()
    for line in lines:
        print(line)
with open('big_file.txt', 'r') as f:
    for line in iter(lambda: f.read(4096), ''):
        print(line)
总结

读取文件是 Python 程序员日常工作中经常遇到的任务。Python 提供了许多内置函数和方法来满足不同的需求。掌握了文件读取的基本方法后,你可以更加灵活地处理和处理文件内容。使用 with 语句可以确保在读取完文件后正确关闭文件,避免资源泄漏。

希望这篇介绍对你有所帮助!