我试图将用户输入保存到一个文本文件中(我想保留一个月的记录)。
但我不确定如何保留旧用户输入,因为每次重新运行脚本时,新用户输入都会自动写入旧用户输入。
有没有办法保留所有记录而不管运行脚本?
这是一个简单的例子。
当我运行一次脚本时,我在输出纺织品中得到以下结果,
2.5 2015-07-30
7 2015-07-30
1 2015-07-30
4 2015-07-30
5 2015-07-30
8.9 2015-07-30
但是当我重新运行脚本时,上面的数据都是由新用户输入写的。我怎样才能使输出文本文件保持所有记录而不管运行脚本? 这是我想要的输出文本文件外观
2.5 2015-07-30
7 2015-07-30
1 2015-07-30
4 2015-07-30
5 2015-07-30
8.9 2015-07-30
4 2015-07-31
7 2015-07-31
2.4 2015-07-31
5 2015-07-31
1 2015-07-31
这是我迄今为止尝试过的代码。
import datetime
with open("output.txt", 'w') as textfile:
while True:
input = raw_input("Enter: ")
if input == 'done':
break
textfile.write(input+'\t'+ datetime.datetime.now().strftime("20%y-%m-%d")+'\n')
答案 0 :(得分:1)
您需要open the file in append mode来保留文件中已有的数据。
'a'
打开要追加的文件。
'a+'
打开要追加的文件,如果该文件不存在则创建该文件。
import datetime
with open("output.txt", 'a+') as textfile:
while True:
input = raw_input("Enter: ")
if input == 'done':
break
textfile.write(input+'\t'+ datetime.datetime.now().strftime("20%y-%m-%d")+'\n')