写入文件
保存数据的最简单方法之一是将其写入文件。 当您将文本写入文件时,在您关闭包含程序输出的终端后,输出仍然可用。 您可以在程序运行完毕后检查输出,也可以与其他人共享输出文件。 您还可以编写程序将文本读回内存并稍后再次使用它。
写入一行
一旦定义了路径,就可以使用 write_text() 方法写入文件。 要了解它是如何工作的,让我们编写一条简单的消息并将其存储在一个文件中,而不是将其打印到屏幕上:
from pathlib import Path
path = Path('programming.txt')
path.write_text("I love programming.")
write_text() 方法只有一个参数:要写入文件的字符串。 这个程序没有终端输出,但是如果你打开文件 programming.txt,你会看到一行:
I love programming.
该文件的行为与您计算机上的任何其他文件一样。 您可以打开它、在其中写入新文本、从中复制、粘贴等等。
Python 只能将字符串写入文本文件。 如果要将数值数据存储在文本文件中,则必须先使用 str() 函数将数据转换为字符串格式。 |
写入多行
write_text() 方法在幕后做了一些事情。 如果该路径指向的文件不存在,它会创建该文件。 此外,将字符串写入文件后,它会确保文件已正确关闭。 未正确关闭的文件可能会导致数据丢失或损坏。
要向文件写入多行,您需要构建一个包含文件全部内容的字符串,然后使用该字符串调用 write_text()。 让我们在 programming.txt 文件中写入几行:
from pathlib import Path
contents = "I love programming.\n"
contents += "I love creating new games.\n"
contents += "I also love working with data.\n"
path = Path('programming.txt')
path.write_text(contents)
我们定义了一个名为 contents 的变量,它将保存文件的全部内容。 在下一行,我们使用 += 运算符添加到该字符串。 您可以根据需要多次执行此操作,以构建任意长度的字符串。 在这种情况下,我们在每行的末尾包含换行符,以确保每个语句出现在自己的行中。
如果你运行它然后打开 programming.txt,你会在文本文件中看到每一行:
I love programming.
I love creating new games.
I also love working with data.
您还可以使用空格、制表符和空行来格式化您的输出,就像您对基于终端的输出所做的那样。 字符串的长度没有限制,这是创建了多少计算机生成的文档。
在路径对象上调用 write_text() 时要小心。 如果文件已经存在,write_text() 将擦除文件的当前内容并将新内容写入文件。 在本章后面,您将学习使用 pathlib 检查文件是否存在。 |