2016-06-19 55 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") 

如果你不知道该日志文件的名称,就可以发现,这将给你当前目录下的所有文件的列表(即一个从你运行脚本的地方开始)。

相关问题