繁体   English   中英

将额外的信息添加到文件名-python

[英]adding extra information to filename - 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(" ", "-")

我在这里错过了什么?

您使用的函数strftime不正确。 Strftime仅接受2个参数,而您要传递3个。

您需要从那时开始生成字符串,并应用一些字符串操作以附加额外的信息。

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

filename = ("%s_%s-MediaFile.mp4" %(pfile, time.strftime("%Y-%m-%d_%H:%M:%S",time.localtime()))).replace(" ", "-")
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(' ', '-')

您正在寻找的应该是:

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

在您的原始代码中,“ Mediafile”字符串不在正确的位置:您应将其作为strftime()的参数,而应将其作为要替换的字符串之一放在第二级括号中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM