0

現在、Python (およびいくつかの Cython モジュール) で作成されたソフトウェアで奇妙なバグが発生しています。Windows 64 ビットで実行していますが、32 ビットの Python を使用しています。

プログラムの一部には、大量のデータ (最大で数ギガバイト) をダウンロードしてから、データの処理に進むことが含まれます。ソフトウェアはしばらくの間比較的安定していましたが、ダウンロードされるデータの量を大幅に増やす新しいデータ ソースを導入したばかりです。これがバグが発生し始めたときだと思います。まったく同じテスト ケースを何度も実行すると、ランダムに見える場所でエラーが発生します。これまでに見た 2 つのエラー メッセージを次に示します。

IOError: [Errno 13] 許可が拒否されました: "[ファイル名]"

WindowsError: [エラー 32] 別のプロセスで使用されているため、プロセスはファイルにアクセスできません: "[ファイル名]"

必要に応じてさらに情報を提供します。繰り返しますが、このエラーは新しいデータ ソースの導入で最近見たばかりなので、データの量に関係があると思います。誰がこれを引き起こしているのか考えていますか?

ありがとう!

編集:明確にするために、これがWindows/大きなファイルの問題である可能性があるかどうか疑問に思っていました.

4

1 に答える 1

0

エラー メッセージが示すように、何かがファイルをロックしている可能性があります。Process Monitor ツールを使用すると、他のプロセスが同時にファイルを使用しようとしているかどうかを監視できます。

そうでない場合は、完全なエラー メッセージとクラッシュするコードの一部として、問題に関するさらに多くの情報を追加する必要があります。

プロセス モニター v3.02

アップデート:

解決策は、ロックを使用して排他モードでファイルを開くことだと思います.これをチェックしてください:

portalocker - 群れスタイルのファイルロックのためのクロスプラットフォーム (posix/nt) API.

于 2012-06-29T13:23:32.820 に答える