在Python中实现全局配置

时间:2012-09-19 02:23:52

标签: python

我想编写一个可以完成某项特定工作的脚本,每次完成工作时,我想将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放在脚本中?

2 个答案:

答案 0 :(得分:3)

您可以picklejob_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())

json

with open("jobs_done.json") as inp:
    job_done_count = json.load(inp)['jobs_done']

或者使用其他十亿种方法!