본문 바로가기
파이썬

파이썬에서 프로그램을 어떻게 실행합니까? 경로의 공백으로 인해 os.system이 실패합니다.

by º기록 2020. 12. 29.
반응형

외부 프로그램을 실행해야하는 Python 스크립트가 있지만 어떤 이유로 실패합니다.

다음 스크립트가있는 경우 :

import os;
os.system("C:\\Temp\\a b c\\Notepad.exe");
raw_input();

그런 다음 다음 오류와 함께 실패합니다.

'C : \ Temp \ a'는 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다.

따옴표로 프로그램을 이스케이프하면 :

import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe"');
raw_input();

그런 다음 작동합니다. 그러나 매개 변수를 추가하면 다시 작동하지 않습니다.

import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe" "C:\\test.txt"');
raw_input();

프로그램을 실행하고 완료 될 때까지 기다리는 올바른 방법은 무엇입니까? 작업을 수행하고 종료하는 시각적 프로그램이므로 출력을 읽을 필요가 없지만 완료 될 때까지 기다려야합니다.

또한 프로그램을 간격이없는 경로로 이동하는 것도 옵션이 아닙니다.

이것은 작동하지 않습니다.

import os;
os.system("'C:\\Temp\\a b c\\Notepad.exe'");
raw_input();

스왑 된 작은 따옴표 / 큰 따옴표에 유의하십시오.

여기서 메모장에 대한 매개 변수가 있거나없는 경우 오류 메시지와 함께 실패합니다.

파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다.

 

해결 방법

 


import subprocess
subprocess.call(['C:\\Temp\\a b c\\Notepad.exe', 'C:\\test.txt'])

 

참조 페이지 https://stackoverflow.com/questions/204017

 

 

반응형

댓글