우분투에서 실행 파일을 호출해야합니다 ... Windows에서 subprocess.Popen
을 사용하여이 작업을 수행하는 방법을 배웠습니다. 자, 우분투에서이 단계를 반복해야합니다.서브 프로세스 호출
나는 다음과 같은 파이썬 명령을 사용하고 있습니다 :
a=subprocess.Popen("filename.exe",shell=0)
반환 내가 불만이 없습니다 shell=1
을 변경하는 경우
Traceback (most recent call last):
File "/untitled0.py", line 29, in <module>
a=subprocess.Popen("filename.exe",shell=0)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error
입니다,하지만 출력 파일이 하나 생성되지 않습니다.
: 파일 이름 : ELF 64 비트 LSB 실행, - 64, 버전 1 (SYSV), 동적 링크 (사용
나는
file filename.exe
를 그것은 반환하여이 파일의 종류를 확인했다 공유 libs와, GNU/리눅스 2.6.9를 들어,
그래서 우분투에서 subprocess.Popen
를 사용하여 호출 할 수 있습니다
32 비트 호스트에서 64 비트 바이너리를 실행하려고합니까? 'uname -a'의 결과를 보여줄 수 있습니까? –
내 우분투가 32 비트 인 것 같아서 문제가 될 수 있습니다 .. 무엇이 uname -a인지 알 수 있습니까? –
OS에 대한 정보, 호스트 이름, 커널 버전, 커널의 컴파일 시간 및 아키텍처 (a가 있는지 여부를 알 수있는)를 포함하여 호스트에 대한 정보를 인쇄하는 명령입니다. 제 32 비트 랩톱에서는 64 비트 서버에서'Linux red 2.6 '을 인쇄하는 동안'Linux radiance 2.6.26-2-686 # 1 SMP Thu Jan 27 00:28:05 UTC 2011 i686 GNU/Linux'를 인쇄합니다. 32-5-amd64 # 1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64 GNU/Linux'. –