Python-保存当前脚本的副本,并将日期/时间添加到名称

时间:2017-11-09 22:29:35

标签: python

我有一个python脚本script1.py,它将从不同的各种目录运行。

我想添加一些代码,这样当这个脚本完成后,它会将自己的副本保存在一个单独的绝对目录中(比如/mnt/scratch/logs),并保存带有日期的副本和名称字符串末尾的时间,例如

/mnt/scratch/logs/script1_2017_nov_10.py

有什么想法吗?

2 个答案:

答案 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)