2016-06-19 53 views
0

我有一個shell腳本,我從中創建一個目錄中的日誌文件。這個shell腳本我在python中執行如下。附加時間戳到創建的日誌文件

cmd = "sh xyz.sh" 
try: 
    subprocess.call(cmd,shell=True) 
except OSError: 
    print "Failed to run the script.: 

我想附加在由xyz.sh腳本創建的那些創建的日誌文件上的時間戳。爲此我想使用下面的python代碼。

b=time.strftime("%x") 
c=time.strftime("%X") 
ts=b+"_"+c 

我想在創建的日誌文件上附加'ts'變量的結果。例如:如果日誌文件的名稱爲abc.log,並且ts的輸出爲:6/19/2016_10:20:16那麼我的日誌文件應該重命名爲6/19/2016_10:20:16_abc.log 請幫助我實現此目的。

+0

第一個代碼塊與您的問題有什麼關係?你不能只使用os.rename()嗎? – Dirk

+0

@Dirk我的代碼塊只能從cmd開始。在usng os.rename()上,如何通過執行xyz.sh腳本來重命名目錄中生成的所有文件。你能不能讓我知道。我有點蟒蛇。 – abhiN

回答

0

如果您已經知道生成的日誌文件的名稱,則可以使用os.rename對其進行重命名。沿着線的東西:它使用os.listdir(os.getcwd())

import time, os 

b = time.strftime("%x") 
c = time.strftime("%X") 
ts = b + "_" + c 

os.rename("abc.log", ts + "_abc.log") 

如果你不知道該日誌文件的名稱,就可以發現,這將給你當前目錄下的所有文件的列表(即一個從你運行腳本的地方開始)。

相關問題