如何在 Python 中打开文件以写入?


在 Python 中,在文件处理领域,我们遇到了几种不同类型的操作;其中一项操作是打开文件以进行写入;此操作允许您创建新文件或用新数据覆盖现有内容。在本文中,我们将介绍几种使用 Python 以写入模式打开文件的方法。为了便于理解和学习,我们在下面提供了几个代码示例,并附带分步说明,以帮助您掌握在 Python 中写入文件的过程。

以写入模式打开文件以写入文本

为了能够以写入模式打开文件以写入文本,请按照以下步骤操作

  • 步骤 1:使用 open() 函数打开文件。您可以提供文件路径作为第一个参数,并使用模式“w”表示写入模式。

  • 步骤 2:接下来,将返回的文件对象分配给一个变量,以便进行后续操作,例如将数据写入文件。

  • 步骤 3:然后,使用 write() 方法将文本内容写入文件。

  • 步骤 4:最后,关闭文件以确保正确处理系统资源。

示例

假设我们有一个如下所示的文本文件

#myfile.txt
This is a test file

# Open the file in write mode for text writing
file = open('myfile.txt', 'w')
# Write text content to the file
file.write("Hello, World!")

# Lastly, you can close the file
file.close()

当我们运行上述代码,然后打开 myfile.txt 时,我们会发现其内容已被覆盖,并显示以下输出。

输出

Hello, World!

以写入模式打开文件以写入二进制数据

要执行以写入模式打开文件以写入二进制数据的过程,请按照类似的步骤操作

  • 步骤 1:使用 open() 函数打开文件。然后,您可以指定文件路径作为第一个参数,并使用模式“wb”表示二进制写入的写入模式。

  • 步骤 2:然后,将返回的文件对象分配给一个变量,以便进行进一步操作,例如将二进制数据写入文件。

  • 步骤 3:您还可以使用 write() 方法将二进制数据写入文件。

  • 步骤 4:最后,您可以关闭文件以确保正确处理系统资源。

示例

假设我们有一个二进制文件 myfile.bin,我们运行以下代码

# Open the file in write mode for binary writing
file = open('myfile.bin', 'wb')
# Write binary data to the file
data = bytearray([0x48, 0x65, 0x6c, 0x6c, 0x6f])
file.write(data)
# Lastly, you close the file
file.close()

运行上述代码后,如果 myfile.bin 是一个空文件,则将其写入为新文件;如果它是一个现有文件,则其内容将被覆盖。

使用上下文管理器进行文件写入

我们必须知道,Python 提供了一种方便且优雅的方法来使用上下文管理器处理文件。众所周知,上下文管理器会自动处理文件关闭,即使发生异常或错误也是如此。以下是如何使用上下文管理器以写入模式打开文件

  • 步骤 1:使用“with 语句”和 open() 函数以写入模式打开文件。

  • 步骤 2:继续在 with 块内将返回的文件对象分配给一个变量。

  • 步骤 3:最后,您可以在 with 块内将所需内容写入文件。

示例

假设我们有一个如下所示的文本文件

#myfile.txt
This is a test file

# Open the file in write mode using a context manager
with open('myfile.txt', 'w') as file:
    # Write text content to the file
    file.write("Hello, World!")

当我们运行上述代码,然后打开 myfile.txt 时,我们会发现其内容已被覆盖,并显示以下输出。

输出

Hello, World!

将多行写入文件

为了能够将多行文本写入文件,您可以按照以下步骤操作

  • 步骤 1:使用 open() 函数以写入模式打开文件。

  • 步骤 2:将返回的文件对象分配给一个变量。

  • 步骤 3:使用 write() 方法将每一行文本写入文件。每行结尾处使用换行符 \n。

  • 步骤 4:最后,您可以关闭文件以确保正确处理系统资源。

示例

假设我们有一个如下所示的文本文件

#myfile.txt
This is a test file

# Open the file in write mode
file = open('myfile.txt', 'w')

# Write multiple lines of text to the file
file.write("Line 1\n")
file.write("Line 2\n")
file.write("Line 3\n")

# Lastly, you can close the file
file.close()

当我们运行上述代码,然后打开 myfile.txt 时,我们会发现其内容已被覆盖,并显示以下输出。

输出

    Line 1
    Line 2
    Line 3    

将内容追加到现有文件

如果需要打开文件并将新内容追加到现有内容,请使用以下步骤

  • 步骤 1:使用 open() 函数以追加模式打开文件。您可以提供文件路径作为第一个参数,并使用模式“a”表示追加模式。

  • 步骤 2:然后,将返回的文件对象分配给一个变量,以便进行进一步操作,例如将数据追加到文件。

  • 步骤 3:使用 write() 方法将新内容追加到文件。

  • 步骤 4:最后,您可以关闭文件以确保正确处理系统资源。

示例

假设我们有一个如下所示的文本文件

#myfile.txt
This is a test file

# Open the file in append mode
file = open('myfile.txt', 'a')

# Append new content to the file
file.write("This is some additional text.\n")

# Lastly, you can close the file
file.close()

当我们运行上述代码,然后打开 myfile.txt 时,我们会发现其内容已被追加,并显示以下输出。

输出

This is a test file
This is some additional text.

在 Python 的文件处理中,打开文件以进行写入的操作允许您创建新文件或用新数据覆盖现有内容。在本文中,我们探讨并讨论了一些示例,这些示例教会我们如何以写入模式打开文件以进行文本和二进制写入,以及如何使用上下文管理器进行文件写入。我们还提供了两个额外的示例,分别展示了如何将多行写入文件以及如何将内容追加到现有文件。通过遵循详细的说明和代码示例,您现在应该已经对 Python 中的文件写入有了充分的了解。最好记住,在写入完成后关闭文件,以确保正确处理系统资源。

更新于: 2023年7月13日

1K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告