如何用python中的当前date和时间创build一个文件名?
这是一个function代码(创build成功的文件)
sys.stdout = open('filename1.xml', 'w')
现在我试图用当前的date时间命名文件(我不是Python的专家)
filename1 = datetime.now().strftime("%Y%m%d-%H%M%S") sys.stdout = open(filename1 + '.xml', 'w')
我想写出一个具有确切date和时间的文件名,它是一个XML文件,该程序已经创build,我只需要命名该文件。 上面的代码不起作用。
[编辑] – 错误返回
File "./fix.py", line 226, in <module> filenames = datetime.now().strftime("%Y%m%d-%H%M%S") AttributeError: 'module' object has no attribute 'now'
虽然不使用datetime
,这解决了您的问题(回答您的问题)获取您指定的当前时间和date格式的string:
import time timestr = time.strftime("%Y%m%d-%H%M%S") print timestr
收益率:
20120515-155045
所以你的文件名可以附加或使用这个string。
now
是模块datetime
类datetime
中的类方法。 所以你需要
datetime.datetime.now()
或者你可以使用不同的导入
from datetime import datetime
完成这种方式允许您按照问题中的代码使用datetime.now
。
改变这一行
filename1 = datetime.now().strftime("%Y%m%d-%H%M%S")
至
filename1 = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
请注意额外的datetime
。 或者,将您的import datetime
时间更改为from datetime import datetime
我很惊讶没有一个单一的格式化程序返回一个默认的(和安全的)“附加文件名” – 格式的时间,我们可以简单地写FD.write('mybackup'+time.strftime('%(formatter here)') + 'ext'
"%x" instead of "%Y%m%d-%H%M%S"