からの書き込み時に拒否されたIOの許可が発生しないようにすることができますどのように私はこれを行うとき、私はすぐに奇妙なものを読んで、TXT
while True:
with open('Test.log', "a") as log_txt:
log_txt.write('Test.\n')
し、プログラムはしばらくの間、実行を開始し、突然クラッシュしました!
最も奇妙なことは、書き込む行数がわからないことです。時にはそれが数百行のために行って、いつかそれが数千だったし、いくつかの点で、それは常にクラッシュし、その後返信:
IOError:[Errno 13]Permission denied: 'Test.log'
私は、コードを入れ、パスに関係なく、それは常に非常に短い以内に墜落しました時間。だから私は十分な速さをログを閉じていないし、再度開いてマルチスレッドのものがあるかどうか疑問に思っていた?
驚くべきことに、私は2つの文章の間に何らかの計算を行っても、それも起こることを発見しました。
# First writing
with open('IFM.log', "a") as log_text:
log_text.write('Evaluating current_file: {}\n\n'.format(self._current_file.expression))
log_text.write('IC: {}\n\n'.format(self._current_file.IC))
# Did some calculations
self._current_file.IC_adjusted = self._current_file.IC * \
(e - e ** (0.1 * self._current_file.complexity))/(e - 1)
# Second writing
with open('IFM.log', "a") as log_text:
log_text.write('IC_adjusted: {}\n\n'.format(self._current_file.IC_adjusted))
どうすればこの問題を解決できますか?私はtime.sleep()をやりたいとは思っていません...それはとてもダムです...
使用しているオペレーティングシステムは?ウイルスチェッカーがインストールされていますか? –
他のプログラムが同じファイルを使用している可能性があります。そのため、権限拒否エラーが発生します。 – elena
Windows 10、私はそれが問題だったとは思わないので、他のすべてのプログラムをシャットダウンします...... –