Я должен вызвать исполняемый файл в Ubuntu... Просто научился делать эту работу, используя subprocess.Popen
в Windows. Теперь мне нужно повторить этот шаг в Ubuntu.
Я использовал следующую команду Python:
a=subprocess.Popen("filename.exe",shell=0)
Возврат
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
Если я изменяю shell=1
, жалоб нет, но выходные файлы не генерируются.
Я проверил тип этого файла, используя file filename.exe
Он вернул:
filename.exe: ELF 64-разрядный исполняемый файл LSB, x86-64, версия 1 (SYSV), динамически связанный (использует разделяемые библиотеки), для GNU/Linux 2.6.9, не разделенный
Так можно ли это назвать, используя subprocess.Popen
в Ubuntu?
Быстрое чтение документов python, похоже, что вы поступаете правильно, так что. Как насчет попытки сказать say/bin/false, который должен быть известным рабочим exe в вашей системе. Если это сработает, то ваш exe скорее всего ошибочен (возможно, 64 бит на 32-битной системе)
uname -a
?