파이썬으로 프로그램을 실행하는데 path 중간에 공백이있어서 오류가 뜹니다
조회수 5016회
발생하는 문제 및 실행환경
파이썬으로 프로그램을 실행하는데 path 중간에 공백이있어서 오류가 뜹니다
소스코드
import os;
os.system("C:\\Temp\\a b c\\Notepad.exe"); #Notepad.exe는 제가 직접만든 exe
raw_input();
에러내용
'C:\Temp\a' is not recognized as an internal or external command, operable program or batch file.
다른 따옴표로 감싸주면 실행되긴 하는데, 이러면 파라미터를 쓸 때 에러가 뜹니다
소스코드
import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe" "C:\\test.txt"');
raw_input();
path이름을 바꾸면 다른 관련된 것도 많이 바꿔야되서 path는 가능하면 그냥 두려고 합니다. 어떻게 하면 path를 유지하면서 파라미터도 같이 넘겨줄수 있을까요?
1 답변
-
해당 문제는 os.system대신 subprocess.call을 써야 할 것 같습니다.
스트링이 아니라 리스트를 인자로 받고, 콤마(,)를 써서 인자를 구분하기때문에 공백을 별로 신경쓸 필요가 없습니다
import subprocess subprocess.call(['C:\\Temp\\a b c\\Notepad.exe', 'C:\\test.txt'])
댓글 입력