我有一个python脚本script1.py
,它将从不同的各种目录运行。
我想添加一些代码,这样当这个脚本完成后,它会将自己的副本保存在一个单独的绝对目录中(比如/mnt/scratch/logs
),并保存带有日期的副本和名称字符串末尾的时间,例如
/mnt/scratch/logs/script1_2017_nov_10.py
有什么想法吗?
答案 0 :(得分:1)
使用datetime
包。以所需格式获取当前日期。使用字符串操作来改变标点符号。将其附加到字符串“/ mnt / scratch / logs / script1_”,这是您的文件名。
答案 1 :(得分:0)
您可以根据自己的需要调整此类内容
import datetime as dt
import re
filename = 'script'
timestamp = str(dt.datetime.now())[:19]
timestamp = re.sub(r'[\:-]','', timestamp) # replace unwanted chars
timestamp = re.sub(r'[\s]','_', timestamp) # with regex and re.sub
print('{}_{}'.format(filename,timestamp))
将输出
script_20171109_224530
添加这些线条以及一些聪明才智将完成其余的工作,但请参阅Prune建议以解决您的下一个问题:)
# not included in output file
out_filename = ('{}_{}'.format(filename,timestamp))
with open(__file__, 'r') as f:
with open(out_filename, 'w') as out:
for line in (f.readlines()[:-7]): #remove last 7 lines
print(line, end='', file=out)