我使用以下行重命名我的文件,添加时间并删除多余的空格并替换为( - ) 如果我想在时间之前添加像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(" ", "-")
我错过了什么?
答案 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()的参数,当你把它作为要替换的字符串之一时,在第二级括号中