0

特定のジョブを実行するスクリプトを作成したいのですが、ジョブが完了するたびに ajob_done_countを 1 増やしたいと思います。つまり、スクリプトを 10 回実行すると、job_done_countになります10

これは、このスクリプトがどのように見えるかです。

#!/usr/bin/env python

job_done_count = 0   
...

if __name__ == '__main__':
    do_the_job()
    job_done_count += 1

私はそれがうまくいくかどうか疑問に思っています。スクリプトを実行するたびに、job_done_count0 に設定され、次に 1 に設定されるためです。ジョブが何回実行されたかは覚えていません。

job_done_countこれは台本に入れないのでしょうか?

4

2 に答える 2

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']

または他の10億の方法で!

于 2012-09-19T03:20:42.107 に答える
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)
于 2012-09-19T02:30:59.100 に答える