MEMOO
MEMOO
Published on 2025-04-20 / 7 Visits
0
0

Python写文本文件

摘要:在本教程中,你将学习在 Python 中编写文本文件的各种方法。

省流速览

以下示例说明了如何将字符串写入文本文件:

with open('readme.txt', 'w') as f:
    f.write('readme')

写入文本文件的步骤

要在 Python 中写入文本文件,请按照以下步骤操作:

  • 首先,使用 open() 函数以写入(或追加)模式打开文本文件。

  • 其次,使用 write()writelines() 方法将内容写入文本文件。

  • 最后,使用 close() 方法关闭文件。

以下展示了 open() 函数的基本语法:

f = open(file, mode)

open() 函数接受许多参数。但这里主要关注前两个参数:

  • file 参数指定要打开以进行写入的文本文件的路径。

  • mode 参数指定要以何种模式打开文本文件。

要写入文本文件,可以使用以下模式之一:

模式

描述

'w'

以写入模式打开文本文件。如果文件已存在,该函数会在你打开文件时立即截断(清空)其所有内容。如果文件不存在,该函数会创建一个新文件。

'a'

以追加文本的方式打开文本文件。如果文件已存在,该函数会在文件末尾追加内容。

'+'

以更新(即可读,又可写)模式打开文本文件。

open() 函数返回一个文件对象,该对象具有两个用于将文本写入文件的有用方法write()writelines()

  • write() 方法将字符串写入文本文件。

  • writelines() 方法一次性将字符串列表写入文件。

  • writelines() 方法接受一个可迭代对象,而不仅仅是列表,因此你可以将字符串元组、字符串集合等传递给 writelines() 方法。

要向文本文件写入一行,你需要手动添加换行符:

f.write('\n')
f.writelines('\n')

写入文本文件示例

以下示例展示了如何使用 write() 函数将文本列表写入文本文件:

lines = ['Readme', 'How to write text files in Python']
with open('readme.txt', 'w') as f:
    for line in lines:
        f.write(line)
        f.write('\n')

如果 readme.txt 文件不存在open() 函数将创建一个新文件。

以下展示了如何将文本字符串列表写入文本文件:

lines = ['Readme', 'How to write text files in Python']
with open('readme.txt', 'w') as f:
    f.writelines(lines)

如果将列表中的每个元素都视为一行,则需要像这样将其与换行符连接起来:

lines = ['Readme', 'How to write text files in Python']
with open('readme.txt', 'w') as f:
    f.write('\n'.join(lines))

追加文本文件

要追加到文本文件,你需要以追加模式打开文本文件。以下示例将新行追加到 readme.txt 文件中:

more_lines = ['', 'Append text files', 'The End']

with open('readme.txt', 'a') as f:
    f.write('\n'.join(more_lines))

输出:

写入 UTF-8 文本文件

如果使用前面示例中的代码将 UTF-8 字符写入文本文件,你将遇到类似这样的错误:

UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-44: character maps to <undefined>

要打开文件并将 UTF-8 字符写入文件,你需要将 encoding='utf-8' 参数传递给 open() 函数。

以下示例展示了如何将 UTF-8 字符写入文本文件:


quote = '成功を収める人とは人が投げてきたレンガでしっかりした基盤を築くことができる人のことである。'

with open('quotes.txt', 'w', encoding='utf-8') as f:
    f.write(quote)

总结

  • 使用带有 wa 模式的 open() 函数以追加方式打开文本文件。

  • 完成写入后,始终使用 close() 方法关闭文件,或者在打开文件时使用 with 语句。

  • 使用 write()writelines() 方法向文本文件写入内容。

  • encoding='utf-8' 传递给 open() 函数,以将 UTF-8 字符写入文件。


Comment