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()函数那样,在字符串的末尾自动添加换行字符。必须自己添加该字符。