当前位置:嗨网首页>书籍在线阅读

17-写入文件

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.2.3 写入文件

Python允许你将内容写入文件,方式与使用 print() 函数将字符串“写”到屏幕上类似。但是,如果打开文件时用读模式,就不能写入文件。你需要以“写入纯文本模式”或“添加纯文本模式”打开该文件,简称为“写模式”和“添加模式”。

写模式将覆写原有的文件,就像你用一个新值覆写一个变量的值一样。将 'w' 作为第二个参数传递给 open() ,以写模式打开该文件。不同的是,添加模式将在已有文件的末尾添加文本。你可以认为这类似于向一个变量中的列表添加内容,而不是完全覆写该变量。将 'a' 作为第二个参数传递给 open() ,以添加模式打开该文件。

如果传递给 open() 的文件名不存在,则写模式和添加模式都会创建一个新的空文件。在读取或写入文件后,调用 close() 方法,然后才能再次打开该文件。

让我们整合这些概念。在交互式环境中输入以下代码:

>>> baconFile = open('bacon.txt', 'w')
>>> baconFile.write('Hello, world!\n')
13
>>> baconFile.close()
>>> baconFile = open('bacon.txt', 'a')
>>> baconFile.write('Bacon is not a vegetable.')
25
>>> baconFile.close()
>>> baconFile = open('bacon.txt')
>>> content = baconFile.read()
>>> baconFile.close()
>>> print(content)
Hello, world!
Bacon is not a vegetable.

首先,我们以写模式打开bacon.txt。因为还没有bacon.txt,Python就创建了一个。在打开的文件上调用 write() ,并向 write() 传入字符串参数 'Hello, world! \n' ,将字符串写入文件,并返回写入的字符个数,包括换行符。然后关闭该文件。

为了将文本添加到文件已有的内容后面,而不是取代我们刚刚写入的字符串,我们就以添加模式打开该文件。向该文件写入 'Bacon is not a vegetable.' ,并关闭它。最后,为了将文件的内容输出到屏幕上,我们以默认的读模式打开该文件,调用 read() ,将得到的内容保存在 content 中,关闭该文件,并输出 content

请注意, write() 方法不会像 print() 函数那样在字符串的末尾自动添加换行符,必须手动添加该字符。

从Python 3.6开始,还可以将 Path 对象而不是文件名字符串传递给 open() 函数。