4
from datetime import datetime, date, time

now = datetime.now()
print now #2013-05-23 04:07:40.951726    
tar = tarfile.open("test.tar", "w")

如何在文件名中添加日期?例如:test2013_05_23_04_07.tar

4

3 回答 3

7

带字符串格式。

from datetime import datetime, date, time

now = datetime.now()
print now #2013-05-23 04:07:40.951726    
tar = tarfile.open("test%s.tar" % now, "w")

或者.format()在 Python 3.+ 中使用

tar = tarfile.open("test{}.tar".format(now), "w")

请注意,您还可以使用以下方式决定您希望如何datetime.now()显示.strftime()

print now.strftime('%Y-%m-%d')
>>> 2013-05-23
于 2013-05-23T12:14:00.267 回答
4

我有一个经常使用的功能:

def timeStamped(fname, fmt='%Y-%m-%d-%H-%M-%S-{fname}'):
        import datetime
        # This creates a timestamped filename so we don't overwrite our good work
        return datetime.datetime.now().strftime(fmt).format(fname=fname)

调用

fname = timeStamped('myfile.xls')

结果:2013-05-23-08-20-43-myfile.xls

或更改 fmt:

fname2 = timeStamped('myfile.xls', '%Y%m%d-{fname}')

结果:20130523-myfile.xls

于 2013-05-23T12:20:16.323 回答
4

我通常使用这样的东西:

tst = datetime.datetime.now().isoformat("-").split(".")[0].replace(":","-")
tar = tarfile.open("test%s.tar" % now, "w")

产生文件名test2013-05-23-14-37-51.tar

于 2013-05-23T12:40:15.403 回答