一般情况下我们在利用write函数进行文件的写入的时候,写入的下一个字符串或者数字等会覆盖之前已经写入到文件当中的字符串或者数字,我们如何解决这个问题呢?方法很简单,在使用open函数打开文件的时候,把后面的参数“w”替换成"a"即可。在文件读写的时候,open函数后面的参数往往有“w”,“wb”,前面的w表示写入纯文本文件,后面的wb表示写入二进制文件(包括了纯文本,电影,音乐,图片等文件),但是“a”这个参数是十分少见的。比如下面我们需要在一个txt文件内写入这样的内容:
也就是每一行都是一个数字,数字每换一行则增加1,我们的程序就可以这样写,在open函数后面加上一个“a”参数进行文件写入的追加,每运行一次程序,之前的内容不会被清空,而是追加上去。就我们下面写的这个程序而言,程序每运行一次,文件里就多了一串字母12345678910,知道你不想运行了为止。
# Write your code here i=1 f=open("numbers.txt","a")#利用追加模式,参数从w替换为a即可 while i <= 10: f.write("{} ".format(i)) i=i+1 f.close()
这样就可以进行逐行写入字符串和数字啦!