문제

내 시스템의 폴더 내부에서 EXE 파일을 실행하고 오류가 발생하는 약간의 코드를 작업하고 있습니다.

WindowsError : [오류 3] 시스템은 지정된 경로를 찾을 수 없습니다. 코드의 약간의 코드는 다음과 같습니다.

exepath = os.path.join(EXE file localtion)
exepath = '"' + os.path.normpath(exepath) + '"'
cmd = [exepath, '-el', str(el), '-n', str(z)]

print 'The python program is running this command:'
print cmd

process = Popen(cmd, stderr=STDOUT, stdout=PIPE)
outputstring = process.communicate()[0]

나는 하위 프로세스를 가져 왔고 또한 하위 프로세스 수입에서 *

예를 들어, 이것은 내 EXE 파일 위치가 내가 보여주는 코드의 첫 번째 줄에서 어떻게 보이는지입니다.

 exepath= os.path.join('/Program Files','next folder','next folder','blah.exe')

내가 뭔가를 놓치고 있습니까?

도움이 되었습니까?

해결책

실행 가능한 경로에서 공간을 올바르게 탈출해야합니다.

다른 팁

문제를 일으킬 수있는 공간 및 기타 문자를 올바르게 탈출하는 것 외에도 8 자 오래된 DOS 경로를 사용할 수도 있습니다.

예를 들어, 프로그램 파일은 다음과 같습니다.

Progra ~ 1, 마지막 두 문자에 대해 ~ 1을 추가하십시오.

편집 : 문자열의 앞쪽에 r을 추가하여 문자 그대로 만들 수 있습니다. 파이썬은 문자의 문자열 문자를 읽습니다. 이와 같이:

R " Program Files"

내가 올바르게 기억한다면, 두 번째 줄에서하는 것처럼 실행 가능한 파일 경로를 인용 할 필요가 없습니다.

편집 : 글쎄, 그냥 근처의 Windows 상자를 잡고 이것을 테스트했습니다. Popen은 경로가 인용되었는지 여부에 관계없이 동일하게 작동합니다. 따라서 이것은 문제가 아닙니다.

Afaik, 지시 자국의 경로를 둘러싸는 것이 필요하지 않습니다. cmd.exe 프로그램 실행에 관여합니다.

또한 환경 변수를 사용하고 싶을 수도 있습니다. ProgramFiles '프로그램 파일'의 실제 위치를 찾으려면 지역 설정에 따라 다르며 TeakUi를 사용하여 조정할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top