每次使用Python运行时都会创建新的文本文件

每次使用Python运行时都会创建新的文本文件,python,Python,如何在每次运行以下程序时创建新的文本文件?我想每隔5秒收集一次数据,但我不想覆盖第一个文本文件。我还使用了time.sleep(5)功能 fobj_out = open("Tabelle.txt", "w") fobj_out.write("Orte chron.: [Höhe in m, Temp. in °C, rel. Feuchte in %, Niederschlag in mm, Sonnenschein in %]\

如何在每次运行以下程序时创建新的文本文件?我想每隔5秒收集一次数据,但我不想覆盖第一个文本文件。我还使用了
time.sleep(5)
功能

fobj_out = open("Tabelle.txt", "w")                                 
fobj_out.write("Orte chron.: [Höhe in m, Temp. in °C, rel. Feuchte in %, Niederschlag in mm, Sonnenschein in %]\n")

for key in sorted(unserdictionary.iterkeys()):                      
    print("%s: %s" % (key, unserdictionary[key]))                   
    fobj_out.write("%s: %s\n" % (key, unserdictionary[key]))
fobj_out.close

有简单的方法吗?

您可以获取当前时间,并将其附加到文件名中

from time import gmtime, strftime
actual_time = strftime("%Y-%m-%d %H-%M-%S", gmtime())

fobj_out = open("Tabelle - " + str(actual_time) + ".txt", "w")                                 
fobj_out.write("Orte chron.: [Höhe in m, Temp. in °C, rel. Feuchte in %, Niederschlag in mm, Sonnenschein in %]\n")

for key in sorted(unserdictionary.iterkeys()):                      
    print("%s: %s" % (key, unserdictionary[key]))                   
    fobj_out.write("%s: %s\n" % (key, unserdictionary[key]))
fobj_out.close
您将获得如下输出:

Tabelle - 2015-01-01 21-15-13.txt
Tabelle - 2015-01-01 21-20-13.txt

您可以获取当前时间,然后将其附加到文件名中,您可以使用
time
模块获取时间。代码应该是-

from time import time 
s = str(round(time() * 1000))
fobj_out = open("Tabelle" + s + ".txt", "w")

首先检查文件是否已经存在,然后创建它或只是附加到已经存在的文件中

import os.path

if(os.path.isfile("Tabelle.txt")):
    obj_out = open("Tabelle.txt", "a")   # Append to the file
else:
    obj_out = open("Tabelle.txt", "w")   # create the file

# do the rest here....

创建一个文件并将当前时间附加到文件名。这样你每次都会有一个不同的文件名。你可以在附加到单个文件时继续使用它,而不是完全覆盖其内容(用
'a'
而不是
'w'
打开)。用
打开
'a'
也会创建该文件,因此不需要检查该文件是否存在。谢谢,这就是我们的想法,但我尝试了一下,我得到了这个错误:第96行,在fobj_out=open(“Tabelle-”+str(实际_时间)+“.txt”,“w”)IOError:[Errno 22]无效模式('w')或文件名:'Tabelle-2015-06-17 09:13:04.txt'@Hadouken抱歉,这是由于当时的
。请检查我的最新答案。很高兴它有帮助。如果答案有效,请接受:)