это мои питона коды:питон подпроцесс check_output возвращается ненулевое состояние выхода 1
import subprocess
subprocess.check_output("ls",shell=True,stderr=subprocess.STDOUT)
import subprocess
subprocess.check_output("yum",shell=True,stderr=subprocess.STDOUT)
первая работа хорошо, но второй возврат:
Traceback (most recent call last):
File "/usr/lib/x86_64-linux-gnu/gedit/plugins/pythonconsole/console.py", line 378, in __run
r = eval(command, self.namespace, self.namespace)
File "<string>", line 1, in <module>
File "/usr/lib/python3.4/subprocess.py", line 616, in check_output
raise CalledProcessError(retcode, process.args, output=output)
subprocess.CalledProcessError: Command 'yum' returned non-zero exit status 1
почему это происходит? заключается в том, что поскольку ls является исходной командой оболочки, но yum является новым пакетом? Как решить эту проблему?
поэтому, если я просто хочу реализовать команду (g3-from-scratch.csh tpall.fna с нуля) в python. Эта команда создаст некоторые файлы в текущем каталоге, но не даст ответа в консоли, я проверю эту команду в оболочке, она работает. как я могу реализовать его в python? Первоначально я использую os.system(), но он просто возвращает (sh: 1: g3-from-scratch.csh: не найден) –
Вы прочитали это: https: // docs. python.org/3.4/library/subprocess.html – Plouff
Я пробую ваш код для yum, он работает хорошо, но не для g3-from-scratch.csh. Я не понимаю, что с ними связано, я могу использовать их непосредственно в консоли. –