Python 文件保存和读取

在编程过程中,我们经常需要将数据保存到文件中以便后续使用,或者从文件中读取数据进行处理。Python 提供了一些方便的方法来实现文件的保存和读取操作。本文将介绍如何使用 Python 进行文件保存和读取,并提供相应的代码示例。

文件保存

创建文件

在开始保存文件之前,我们需要先创建一个文件。Python 提供了 open() 函数来创建或打开一个文件。以下是 open() 函数的使用方法:

file = open('filename', 'mode')
  • filename:要创建或打开的文件名及路径。
  • mode:打开文件的模式,常用的模式有:
    • r:只读模式(默认)。
    • w:写入模式,如果文件已存在则覆盖,如果文件不存在则创建新文件。
    • a:追加模式,如果文件已存在则在文件末尾追加内容,如果文件不存在则创建新文件。
    • x:创建新文件并写入,如果文件已存在则报错。

创建一个名为 example.txt 的文件,代码如下所示:

file = open('example.txt', 'w')
file.close()

写入文件

文件创建成功后,我们可以使用 write() 方法向文件中写入内容。以下是 write() 方法的使用方法:

file.write('content')
  • content:要写入文件的内容,可以是字符串或字节流。

我们可以使用以下代码向文件中写入一段文本:

file = open('example.txt', 'w')
file.write('Hello, world!')
file.close()

追加内容

如果我们希望在已有文件的末尾追加内容,而不是覆盖原有内容,可以使用 a 模式打开文件,并使用 write() 方法写入内容。以下是示例代码:

file = open('example.txt', 'a')
file.write('\nThis is a new line.')
file.close()

with 语句

上述代码中,在写入文件后都调用了 close() 方法来关闭文件。为了简化操作,我们可以使用 with 语句来自动关闭文件。代码如下所示:

with open('example.txt', 'a') as file:
    file.write('\nThis is a new line.')

使用 with 语句后,无需手动调用 close() 方法,文件会在代码块结束后自动关闭。

文件读取

读取整个文件

要读取一个文件的全部内容,我们可以使用 read() 方法。以下是 read() 方法的使用方法:

content = file.read()
  • content:文件的全部内容。

以下代码演示了如何读取一个文件的全部内容:

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

逐行读取

如果我们希望逐行读取文件的内容,可以使用 readline() 方法。以下是 readline() 方法的使用方法:

line = file.readline()
  • line:文件的一行内容。

以下代码演示了如何逐行读取文件的内容:

with open('example.txt', 'r') as file:
    line = file.readline()
    while line:
        print(line)
        line = file.readline()

读取所有行

除了逐行读取外,我们还可以使用 readlines() 方法一次性读取文件的所有行,并将其存储在一个列表中。以下是 readlines() 方法的使用方法:

lines = file.readlines()
  • lines:文件的所有行,存储在一个列表中。

以下代码演示了如何读取文件的所有行:

with open('example.txt', 'r') as file:
    lines = file.readlines()
    for line in lines:
        print(line)

示例

为了更好地理解文件的保存和读取操作,我们可以通过一个示例来演示整个过程。假设我们有一个名为 students.txt 的文件,其中存储了学生的姓名和年龄信息,每行一个学生。我们需要将学生信息保存到文件中,并逐行读取文件内容。

保存学生信息

with open('students.txt', 'w