Мне нужно выполнить скрипт оболочки с помощью python. Вывод программы оболочки - это текстовый файл. Нет ввода сценария. Помогите мне решить это.subprocess.call() для программы оболочки, которая пишет файл
def invokescript(shfile):
s=subprocess.Popen(["./Script1.sh"],stderr=subprocess.PIPE,stdin=subprocess.PIPE);
return;
invokescript("Script1.sh");
При использовании вышеуказанного кода, я получаю следующее сообщение об ошибке.
Traceback (most recent call last):
File "./test4.py", line 12, in <module>
invokescript("Script1.sh");
File "./test4.py", line 8, in invokescript
s=subprocess.Popen(["./Script1.sh"],stderr=subprocess.PIPE,stdin=subprocess.PIPE);
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
Заранее спасибо ...
может дублировать: http://stackoverflow.com/questions/4834483/is-this-the-right-way-to-run-a-shell-script-inside-python – atupal
Нет необходимости в запятой в питоне – codeape
ITYM 's = subprocess.Popen ([shfile], ...)'. В противном случае вам не понадобится этот параметр. – glglgl