プログラムを更新するPythonスクリプトがあります(フォルダーをクリアして新しいファイルをコピーします)。正常に動作しますが、スクリプトから生成された* .exeファイル(py2exeを使用)を実行すると、エラーメッセージが表示されます。
Traceback (most recent call last):
File "update.py", line 10, in <module>
File "shutil.pyc", line 254, in rmtree
File "shutil.pyc", line 252, in rmtree
WindowsError: [Error 32] The process cannot access the file because it is being used by another process: 'C:\\Project\\MyProg\\Prog\\app'
これが私のスクリプトです:
app = 'C:\\Project\\MyProg\\Prog\\app'
update = 'C:\\Project\\MyProg\\Prog\\update'
os.system("taskkill /im file.exe /f")
time.sleep(2)
shutil.rmtree(app)
shutil.move(update, app)
newpath = update
if not os.path.exists(newpath):
os.makedirs(newpath)
with open('info', 'w') as f:
f.write("updated")
subprocess.call(['C:\\Project\\MyProg\\Prog\\app\\file.exe'])