-1

ファイルに結果を繰り返し書き込む作業をしています。N個のステップがあるので、同じファイルに各ステップの結果を書き込む必要があります。次に、別のモジュールがそのファイルをステップに使用します。

これが問題です。ファイルサイズが0なので、次の手順を実行できません。

while 1:
    file = open('a.txt','w+')
    run()
    file.write(result)
    file.close()

この単純なコードは私のコードの要約です。

私を助けてください。

前もって感謝します。

4

2 に答える 2

1

に割り当てるのを忘れましたresultか?

また、w+ ファイルを切り捨てます。と言うつもりでしたa+か?現在のコードでは、 の直後close()(および次の反復の前open()) 以外の任意の時点で無限ループを強制終了すると、出力ファイルが空になる可能性があります。

于 2012-11-08T07:08:17.700 に答える
0

@Sang と @NPE が指摘したように、おそらく結果を設定するのを忘れていました。しかし、私の推測では、実際には'run' またはその他の関数内でローカルの結果変数に書き込みを行っており、それをグローバルに設定するのを忘れていたのではないでしょうか。

run 関数内 (どこに結果を割り当てても)。

def run():
    global result
    ...
    result = 42
    ...

そしてもちろん、「a+」の問題があります。

于 2012-11-08T07:15:41.113 に答える