2

私のコードでは、ハードディスクにファイルを書き込みます。その後、生成されたファイルをインポートして、処理を続行する必要があります。

for i in xrange(10):
    filename=generateFile()
    # takes some time, I wish to freeze the program here
    # and continue once the file is ready in the system
    file=importFile(filename)
    processFile(file)

コード スニペットを一度に実行するfile=importFile(filename)と、生成に時間がかかるため、そのファイルが存在しないというエラーが表示される可能性が高くなります。

以前は手動で実行し、実行するfilename=generateFile()前に待機していfile=importFile(filename)ました。
ループを使用しているforので、自動の方法を探しています。

4

2 に答える 2

3

このtime.sleep方法でモジュールをロードする場合はreloadimport最初のimport.

ただし、ファイルが非常に大きい場合を除き、文字列を生成してから生成しないのはなぜevalですかexec?

ファイル生成関数はスレッドで呼び出されていないため、ブロックする必要があり、書き込みが終了したと判断した場合にのみ戻ることに注意してください。おそらく、ファイルライターがoutfile.flush()thenで終了するようにすることで改善できますoutfile.close()が、一部の OS ではファイルが実際に利用できないときもまだあります。

于 2013-11-11T04:26:04.543 に答える