0


【Python入门教程】第69篇 写入文本文件

本篇我们介绍如何将内容写入文本文件。

快速参考

以下代码演示了如何将一个字符串写入文本文件:

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

写入文本文件的步骤

在 Python 中写入文本文件的步骤如下:

  • 首先,利用 open() 函数以写入或者追加模式打开一个文本文件。
  • 其次,使用文件对象的 write() 或者 writelines() 方法写入文本。
  • 最后,使用文件对象的 close() 方法关闭文件。

以下是 open() 函数的基本语法:

f =open(path_to_file, mode)

open() 函数支持多个参数,主要的参数包含两个:

  • path_to_file 参数指定了文本文件的路径。
  • mode 参数用于指定打开文件的模式。

对于写入操作,我们可以使用以下模式:
模式描述‘w’以写入模式打开文本文件‘a’以追加模式打开文本文件
open() 函数返回了一个文件对象,文件对象支持两种写入文件的方法:write() 和 writelines()。

write() 方法可以将一个字符串写入文本文件,writelines() 方法可以一次写入一个字符串列表。事实上,writelines() 方法支持一个可遍历对象作为参数,而不仅仅是字符串列表。因此我们可以传入一个字符串元组、字符串集合等。

以下代码可以用于写入一个换行符:

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

示例

以下示例说明了如何使用 write() 函数将一组文本写入文件:

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

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

在这里插入图片描述

以下示例演示了如何使用 writelines() 函数将一个字符串列表写入文件:

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

如果想要将列表的每个元素作为一行写入,需要连接一个换行符:

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

在这里插入图片描述

追加文件内容

如果想要将内容追加到文本文件中,需要以追加模式打开文件。以下示例在 readme.txt 文件中增加了一些新的内容:

more_lines =['','Append text files','The End']withopen('readme.txt','a')as f:
    f.writelines('\n'.join(more_lines))

Code language: JavaScript (javascript)
Output:
在这里插入图片描述

写入 UTF-8 编码文件

如果我们在前面的示例中写入 UTF-8 编码字符,将会返回以下错误:

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

如果想要打开文件并写入 UTF-8 字符,需要为 open() 函数指定 encoding=‘utf-8’ 参数。例如:

quote ='春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。'withopen('quotes.txt','w', encoding='utf-8')as f:
    f.write(quote)

总结

  • 使用 open() 函数和 ‘w’(‘a’)参数以写入(追加)模式打开文本文件。
  • 写入文件之后使用 close() 方法关闭文件,或者使用 with 语句自动关闭文件。
  • 使用 write() 和 writelines() 方法写入内容。
  • 使用 encoding=‘utf-8’ 参数打开文件并写入 UTF-8 编码字符。

本文转载自: https://blog.csdn.net/horses/article/details/123056590
版权归原作者 不剪发的Tony老师 所有, 如有侵权,请联系我们删除。

“【Python入门教程】第69篇 写入文本文件”的评论:

还没有评论