如何在 Python 中读取和写入文件

读取和写入文件是编程中的常见任务,而 Python 的内置文件处理功能使这一任务变得简单。了解如何使用文件对于任何 Python 程序员来说都是必不可少的,因为它允许您处理数据存储、日志记录、配置管理等。本指南将介绍如何在 Python 中打开、读取、写入和关闭文件,以及如何处理不同的文件模式。

打开和关闭文件

在 Python 中,您可以使用 open() 函数打开文件。open() 函数返回一个文件对象,它提供读写方法。使用完文件后,务必使用 close() 方法关闭文件,以释放系统资源。

# Opening and closing a file
file = open("example.txt", "r")  # Open file for reading
# Perform file operations
file.close()  # Close the file

读取文件

有多种方法可以在 Python 中读取文件的内容,具体取决于您的需要:

阅读整个文件

read() 方法将文件的全部内容读入单个字符串。

# Reading the entire file
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

读取文件行

readline() 方法从文件读取一行,而 readlines() 读取所有行并将它们作为列表返回。

# Reading lines using readline()
with open("example.txt", "r") as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()

# Reading all lines using readlines()
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

逐行读取文件

逐行读取文件的首选方法是直接在文件对象上使用 for 循环。这种方法内存效率高,尤其适用于大文件。

# Reading file line by line using a for loop
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

写入文件

Python 允许您使用 write()writelines() 方法写入文件。您需要以支持写入的模式打开文件,例如 'w'(写入)或 'a'(追加)。

写入文件

write() 方法将单个字符串写入文件。以写入模式打开文件 'w' 将创建新文件或覆盖现有文件。

# Writing to a file
with open("output.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a new line.")

附加到文件

以追加模式'a'打开文件允许您将内容添加到现有文件的末尾而不覆盖其内容。

# Appending to a file
with open("output.txt", "a") as file:
    file.write("\nThis line is appended.")

写入多行

writelines() 方法用于将多行写入文件。它需要一个字符串列表,每个字符串代表一行。

# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
    file.writelines(lines)

文件模式

Python 的 open() 函数支持几种打开文件的模式:

  • 'r' - 读取模式(默认)。打开文件进行读取。
  • 'w' - 写入模式。打开一个文件进行写入(创建新文件或截断现有文件)。
  • 'a' - 附加模式。打开一个文件进行附加(如果不存在则创建一个新文件)。
  • 'r+' - 读写模式。打开文件进行读写操作。
  • 'b' - 二进制模式。以二进制模式打开文件(与 'rb''wb' 等一起使用)。

结论

一旦理解了基本概念和文件模式,在 Python 中读取和写入文件就很简单了。通过掌握文件处理,您可以有效地管理数据、处理用户输入/输出以及自动执行涉及文件操作的任务。练习使用这些技术可以熟练掌握 Python 中的文件管理。