我想编写一个可以完成某项特定工作的脚本,每次完成工作时,我想将job_done_count
增加1,即如果我运行脚本10次,{{1将是job_done_count
。
这是这个脚本的样子,
10
我很好奇它是否有效。因为,每次运行脚本时,#!/usr/bin/env python
job_done_count = 0
...
if __name__ == '__main__':
do_the_job()
job_done_count += 1
都将设置为0,然后是1.它不记得完成作业的次数。
我是不是应该将此job_done_count
放在脚本中?
答案 0 :(得分:3)
您可以pickle
将job_done_count
变量放入文件中:
import os, pickle
if os.path.exists('job_count.pickle'):
with open('job_count.pickle', 'rb') as handle:
job_done_count = pickle.load(handle)
else:
job_done_count = 0
...
if __name__ == '__main__':
do_the_job()
job_done_count += 1
with open('job_count.pickle', 'wb') as handle:
pickle.dump(job_done_count, handle)
答案 1 :(得分:3)
或者不要使用泡菜,并采用以下任何一种方式。
手工
with open("jobs_done.txt") as inp:
job_done_count = int(inp.read().strip())
with open("jobs_done.json") as inp:
job_done_count = json.load(inp)['jobs_done']
或者使用其他十亿种方法!