1

私はPythonスクリプトを書いていますが、その中でos.chdir(IMG_FOLDER)ファイル操作を行うためにディレクトリを変更することがあります。スレッドが1つしかない限り、これは問題なく機能します(関数を終了する前に元の場所に戻ることができるため)。さて、マルチスレッドの場合、スレッドごとに個別の「os path」インスタンスが必要になります。そうしないと、ファイル操作が台無しになる可能性があります。どうすればこれをうまくやることができますか?

4

2 に答える 2

4

使用しないでくださいos.chdir。代わりに、os.path.joinフル パスを形成するために使用します。

于 2012-12-19T19:02:13.510 に答える
0

この問題の究極の解決策は、私が

  • Perkins が提案するように、絶対パスを使用し、相対パスは使用しないでください
  • メインスレッドでデータを受信すると、データに書き込みます。.tmpたとえば、書き込みプロセスが完全に終了すると、別のスレッドでスキャンしている名前に名前が変更されます。
于 2012-12-20T00:48:20.553 に答える