有没有办法阻止Python重写文件?
例如,当我运行一次代码时,它在文本文件中写入数字"1“。如果我明天运行相同的代码,它不会删除昨天的1,它会再添加一个"1",所以它应该是这样的:
1
1
我的应该是这样的:
file = open("filename","w")
file.write(str(1) + "\n)
file.close()
如果有人能告诉我我哪里错了,请帮帮我。
提前谢谢你!
发布于 2018-07-07 08:41:02
如果读取the docs for open
,则向其传递"w"
第二个参数是mode
模式是一个可选字符串,用于指定打开文件的模式。它默认为
'r'
,意思是在文本模式下打开阅读。其他常见值包括用于写入的'w'
(如果文件已存在,则截断该文件)、用于独占创建的'x'
和用于追加…的'a'
然后有一个方便的所有模式字符的图表,它重申了相同的信息:
'w'
:打开以进行写入,截断first'a'
:打开以进行写入的文件,如果存在,则追加到文件末尾
因此,只需使用"a"
而不是"w"
,Python会将新行添加到文件的末尾,而不是将文件截断为空,然后将新行添加到现在为空的文件中。
可能值得知道的是,这非常紧密地基于来自C和POSIX的fopen
函数的行为-许多其他语言也复制了这些行为。因此,在您遇到的几乎任何语言中,如果有一种用于写入覆盖文件的w
模式,那么很可能也有一种用于追加的a
模式。
https://stackoverflow.com/questions/51219008
复制相似问题