Я читал это где-то некоторое время назад, но, похоже, не могу его найти. Я пытаюсь найти команду, которая будет выполнять команды в терминале, а затем выводить результат.
Например: сценарий будет:
command 'ls -l'
Это выдаст результат выполнения этой команды в терминале
os.system("nslookup gmail.com")
возвращает только последнюю строку0
, но я хочу получить полный ответ.Я предпочитаю использовать модуль подпроцесса:
Причина в том, что если вы хотите передать некоторую переменную в скрипт, это дает очень простой способ, например, взять следующую часть кода
источник
call(["eog", "1breeproposal.png", "-f"])
Фактически, любой вопрос о подпроцессе будет хорошо прочитан
источник
Вам также следует изучить commands.getstatusoutput
Это возвращает кортеж длиной 2 .. Первое - это возвращаемое целое число (0 - когда команды успешны), второе - это весь вывод, как будет показано в терминале.
Для ls
источник
Это должно работать. Я не знаю, как распечатать вывод в оболочке python.
источник
Os.popen () довольно просто использовать, но он устарел , так как Python 2.6. Вместо этого вы должны использовать модуль подпроцесса .
Читайте здесь: чтение os.popen (команды) в строку
источник
Юпитер
В блокноте jupyter вы можете использовать волшебную функцию
!
ipython
Чтобы выполнить это как
.py
сценарий, вам нужно будет использоватьipython
выполнить сценарий
источник
Вы можете импортировать модуль 'os' и использовать его так:
источник
для python3 используйте подпроцесс
источник