如何将日期添加到文件名?

时间:2013-05-23 12:13:12

标签: python

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

3 个答案:

答案 0 :(得分:6)

使用字符串格式。

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

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

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

注意,您还可以决定使用datetime.now()显示.strftime()的方式:

print now.strftime('%Y-%m-%d')
>>> 2013-05-23

答案 1 :(得分:3)

我通常使用这样的东西:

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

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

答案 2 :(得分:2)

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

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