4

最初にいくつかの背景として、cronジョブによって定期的に呼び出されるPythonスクリプトがあります。スクリプトに整数変数があり、cronジョブがpythonスクリプトを呼び出すたびに増やす必要があります。

たとえば、毎週水曜日に変数の数が増えます(75、76など)。PythonI / Oを使用してスクリプトの外部で参照ファイルを作成しようとしましたが、ファイルを開くオプションは実際には役に立ちません。自分。

w +:書き込みと読み取りの両方のためにファイルを開きます。ファイルが存在する場合は、既存のファイルを上書きします。ファイルが存在しない場合は、読み取りおよび書き込み用の新しいファイルを作成します。

このオプションは、ファイルを開くたびにファイル自体が上書きされない場合に機能します。スクリプトがファイルから読み取ったものに1を追加しようとすると、それは単にnullになることを意味します

r +:読み取りと書き込みの両方のためにファイルを開きます。ファイルポインタはファイルの先頭にあります。

このオプションは、新しく計算された数値をファイルの先頭に追加するだけでなく、次に新しい数値と以前の数値の合計を読み取る場合に機能します。

2回目の実行で71を読み取る代わりに、7170を読み取ります

私が知らないスクリプトの外にデータを保存するためのはるかに良い方法があるでしょう。ありがとう。

4

1 に答える 1

2

あなたが欲しいr+。ただし、書き込みを行う前にしたいseek(0)ので、読み取りを停止した場所ではなく、ファイルの先頭から書き込みを開始します。

ファイルを2回開くこともできます。1回は読み取り用、もう1回は書き込み用ですが、これは非効率的です。

于 2012-10-29T16:18:33.500 に答える