이에 대한 시작 명령을 사용하여 시나리오입니다. 그 후이 파일을 읽고 다음 삭제를 시도합니다 batch.bat에서일괄 출력 리디렉션 GUI 응용 프로그램
os.system(C:\batch.bat >C:\temp.txt 2>&1)
os.remove(C:\temp.txt)
우리는이 같은 윈도우 GUI을 programm를 시작
start c:\the_programm.exe
그게 모든 배치 파일에.
이제 temp.txt가 시스템에 여전히 잠겨 있기 때문에 os.remove()가 "Permission denied"로 실패합니다. 이것은 여전히 실행중인 the_programm.exe (모든 출력이 temp.txt로 리다이렉트 된 것 같습니다)로 인한 것 같습니다.
아직 실행 중일 때 temp.txt를 잠그지 않고 the_programm.exe를 시작하는 방법에 대한 아이디어가 있으십니까? 파이썬 부분은 도구이기 때문에 거의 바꿀 수 없습니다 (BusyB).
실제로 the_programm.exe의 출력이 필요하지 않으므로 질문의 본질은 다음과 같습니다. the_programm.exe의 출력을 위해 temp.txt를 잠그지 않게하려면 어떻게해야합니까? 또는 일괄 출력 리디렉션을 상속하지 않고 프로그램을 시작하려면 START 또는 다른 Windows 명령을 어떻게 사용합니까?
프로그램을 시작하고 출력 스트림에서 직접 읽으면 쉽지 않을까요? – Joey