每次运行脚本python时都将用户输入保存到现有的文本文件中?

时间:2015-07-31 19:00:30

标签: python

我试图将用户输入保存到一个文本文件中(我想保留一个月的记录)。

但我不确定如何保留旧用户输入,因为每次重新运行脚本时,新用户输入都会自动写入旧用户输入。

有没有办法保留所有记录而不管运行脚本?

这是一个简单的例子。

当我运行一次脚本时,我在输出纺织品中得到以下结果,

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')

1 个答案:

答案 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')