2016-07-25 36 views
0

我用下面的行加入時間重命名我的文件,並刪除多餘的空間,將其替換爲( - ) 如果我想補充額外的信息,如拉布勒的時刻之前,添加額外的信息,文件名 - 蟒蛇

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

'filename =(「%s_%s_%s.mp4」%(pfile,time.strftime(「%y-%m-%d_%H:%M:%S」,time.localtime()) ,「Mediafile」))。replace(「」,「 - 」)'應該工作:'MediaFile'字符串不在右括號中。 – HolyDanna

回答

2

您正在使用函數strftime錯誤。 Strftime只需要2個參數,並且你傳遞它3.

您需要從時間生成字符串並應用一些字符串操作來追加額外的信息。

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

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

我想他想替換' - '的空格,以防文件名中有空格。 – HolyDanna

+0

@HolyDanna夠公平的,我會把它拿出來 –

0

你要找的應該是:

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

在原來的代碼中,「媒體文件」字符串的不正確的地方:你把它作爲的strftime()的變量,當你應該把它作爲一個替換字符串,在第二級括號中。