在python中使用此代码时:
f = open('ping.log', 'r+')
f.write("["+time.ctime()+"]"+"Status")
f.close()
我的文件总是被覆盖。并且只有一行,如下所示:
[Fri Sep 02 16:30:56 2011]状态
为什么会被覆盖?
答案 0 :(得分:5)
答案 1 :(得分:2)
r+
将初始文件指针设置为开头。寻求结束或使用a
模式。
答案 2 :(得分:2)
检查this question。使用“a”模式打开文件:
f = open("ping.log","a")
...
答案 3 :(得分:2)
http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files
第一个参数是包含文件名的字符串。第二 argument是另一个字符串,包含一些描述该字符的字符 将使用该文件的方式。当文件出现时,mode可以是'r' 只读,'w'仅用于写入(具有相同的现有文件) 名称将被删除),和'a'打开文件以便追加; 任何数据 写入文件会自动添加到文件末尾。 'r +'打开了 阅读和写作的文件。 mode参数是可选的; 'R' 将被假设,如果它被省略。
所以使用
f = open('ping.log', 'a')
f.write("["+time.ctime()+"]"+"Status")
f.close()