いくつかの計算を開始するスクリプトを開発する必要があります。一時ディレクトリを削除して、このスクリプトで ^C を正しく処理する必要があります。signal_handler でいくつかのバージョンのコードを試しました。
shutil.rmtree(self.temp)
あるいは
os.system("rm -rf " + self.temp)
実行を中断し、ディレクトリを削除するためにハンドラが呼び出されると、次のようなエラーが発生します。
OSError: [Errno 17] File exists : 'foo'
また
rm: Unable to remove directory foo: File exists
実行後、削除したいディレクトリが空になりrm -r
、シェルで a で削除できました。ただし、コードを実行すると:
for f in os.listdir(self.temp):
os.remove(os.path.join(self.temp,f))
for f in os.listdir(self.temp):
print f
os.rmdir(self.temp)
もちろん、エラーが発生していますが、2 番目のループで次のファイルが検出されます。.nfsA13D3
誰でも私の問題の解決策を持っていますか? ありがとうございました !