1

PythonからDOS.exeファイルを呼び出し、計算後にこの.exeを削除する必要があります。subprocess.Popenを使用して呼び出すことはできos.systemますが、によって呼び出された場合、この.exeファイルを削除できませんでしたsubprocess.Popen。エラーはWindowsError: [Error 5] Access is deniedです。誰かがこのプロセスを強制終了する方法を教えてもらえますか?ありがとう!

subprocessアプローチ(機能しません):

a = subprocess.Popen("dos.exe", stdin=subprocess.PIPE,
                     stdout=subprocess.PIPE, stderr=subprocess.PIPE)
time.sleep(5)
a.kill()
os.remove("dos.exe")

# gets error msg "WindowsError: [Error 5] Access is denied"

os.systemアプローチ(作品):

a=os.system("dos.exe")
os.remove("dos.exe")
4

1 に答える 1

2

.exeを削除する前に、プロセスが完了するのを待つ必要があります。.exeを削除する前に、a.communicate()またはa.wait()を呼び出してください

于 2012-04-30T21:37:23.213 に答える