向filename添加额外信息 - python

时间:2016-07-25 08:23:44

标签: python

我使用以下行重命名我的文件,添加时间并删除多余的空格并替换为( - ) 如果我想在时间之前添加像lable这样的额外信息,

filename = ("%s_%s.mp4" %(pfile, time.strftime("%Y-%m-%d_%H:%M:%S",time.localtime()))).replace(" ", "-")

当前输出看起来像

testfile_2016-07-25_12:17:14.mp4

我希望将文件输出为

testfile_2016-07-25_12:17:14-MediaFile.mp4

尝试以下方法,

filename = ("%s_%s_%s.mp4" %(pfile, time.strftime("%Y-%m-%d_%H:%M:%S","Mediafile",time.localtime()))).replace(" ", "-")

我错过了什么?

3 个答案:

答案 0 :(得分:2)

您错误地使用了strftime功能。 Strftime只需要2个参数,你就可以通过它3.

您需要从时间生成字符串并应用一些字符串操作来附加额外信息。

如果您想将MediaFile添加到文件名的末尾,只需执行以下操作即可。

onclick='confirmGroup(#=ManagerId#)'

答案 1 :(得分:1)

filename = ("%s_%s-%s.mp4" %(pfile, time.strftime("%Y-%m-%d_%H:%M:%S",time.localtime()), 'MediaFile')).replace(' ', '-')
# 'testfile_2016-07-25_10:29:28-MediaFile.mp4'

要更好地了解其工作原理并略微提高可读性,您可以在单独的变量中定义时间戳:

timestr = time.strftime("%Y-%m-%d_%H:%M:%S", time.localtime()) # 2016-07-25_10:31:03

filename = ("%s_%s-%s" %(pfile, timestr, 'MediaFile')).replace(' ', '-')
# 'testfile_2016-07-25_10:31:03-MediaFile.mp4'

filename = ("%s_%s-MediaFile.mp4" %(pfile, timestr)).replace(' ', '-')

为完整起见,您还可以使用format()方法:

filename = '{0}_{1}-MediaFile.mp4'.format(pfile, timestr).replace(' ', '-')

答案 2 :(得分:0)

您正在寻找的应该是:

filename = ("%s_%s_%s.mp4" %(pfile, time.strftime("%Y-%m-%d_%H:%M:%S",time.localtime()),"Mediafile")).replace(" ", "-")

在原始代码中,'Mediafile'字符串不在正确的位置:你把它作为strftime()的参数,当你把它作为要替换的字符串之一时,在第二级括号中