一、写入文件
保存数据的最简单的方式之一是将其写入到文件中。
1、写入空文件
我们可以将文本内容写入到空文件中,比如要在一个空文件hello.txt中写入一句话:“Hellopythonworld!”。
在上例中,程序用到两个函数:
1)函数open()
使用函数open()打开文件,它有两个参数,第一个参数是要打开的文件名称,第二个参数是模式参数,这里使用的模式‘w’,它告诉python写入文件,而不是将其输出到屏幕上。
在使用函数open()打开文件时,可指定以下模式参数:
w模式:写入模式,在写入时会清空之前的内容。
a模式:追加模式,写入但不清空之前的数据。
r模式:读取模式。
如果你省略了函数open()的模式参数,python默认以读取模式“r”打开文件。
如果指定的文件不存在,python会自动创建一个新的空文件。
注意:以写入(‘w’)模式打开文件时千万要小心,如果指定的文件已经存在,python将覆盖该文件。
2)方法write()
方法write()的功能是,将一个字符串写入文本文件,程序运行后,打开文本文件,将会看到写入的内容。
注意:python只能将字符串写入文件,如果要将数据写入到文本文件,需要将其转化为字符串格式:
先将数据转化为字符串,然后再使用方法write()将其写入文本文件:
2、写入多行
函数write()不会在你写入的文本末尾添加换行符,如果你写入多行时没有指定换行符,文件内容会连在一起,看起来可能不是你希望的那样。
在上例中,使用代码写入多行文本,打开文件后可以看到文本内容都连到一起了,显得没条理,如果我们想把文件分成多行怎么办呢?
只需在写入的内容后面加上换行符即可,如下所示:
3、追加到文件
上面的程序确实将数据写到了文件中,但是每次都会覆盖之前的内容,如果不想覆盖原有内容,而只是想要给原文件添加一些内容的话,可以将open函数第二个参数,即模式参数设置为‘a’,将它变为附加模式,这时写入的内容就会追加到原文件内容的末尾。
在上例中,我们已经在文件中写入了6行数据,现在我们要追加一个结束语end,可以这样操作:
这时,文件原来的6行内容还在,新写入的内容追加到了文件末尾。
二、动手实践
编写一个while循环,提示用户输入其喜欢的水果名。用户每输入一个水果名后,都在屏幕上输出一句话,最后列出用户输入的全部内容,将每次用户输入的内容都添加到文件fruits.txt中,且在文件fruits.txt中的每条记录都独占一行。