Рубрики
Без рубрики

Python Execute Shell команда Python Subprocess – выполнить команды оболочки

Подпроцесс Python – это модуль в Python, который помогает нам выполнять команды оболочки, получить вход / вывод … Теги с Python, Computerscience, Linux.

Подпроцесс Python – это модуль в Python, который помогает нам выполнять команды оболочки, получить трубы ввода/вывода/ошибок и коды ошибок для выполненной команды с языка Python.

Почему модуль субпроцесса Python?

Знаете ли вы какой-либо другой модуль в Python, который может помочь нам выполнить команды оболочки? Ваш ответ станет модулем «ОС» в Python.

OS.System () может помочь нам выполнить команды оболочки из программы Python, но проблема в том, что мы не можем получить вывод выполненной команды в нашей программе Python.

OS.System ()

>>> import os

>>> os.system('ls')

main.py  requirements.txt  venv

Выход генерируется на терминале. Мы можем получить только код ошибки только для команды выполненной оболочки.

Пример:

Код ошибки в OS.System ()

import os

out = os.system('ls')

>>> print(out)

0

Один из способов получения выхода команды выполненной оболочки – использование оператора трубопровода для хранения вывода в текстовом файле, а затем прочитайте файл в программе Python.

Пример:

OS.System () трубопровод

import os

os.system('ls > output.txt')

file = open('output.txt','r')

>>> print(file.read())

output.txt
main.py
requirements.txt
venv

Модуль подпроцесса Python – это интерфейс высокого уровня для выполнения команд Shell из программы Python и предназначен для замены следующих модулей Python Modules и функций:

OS.System () * ОС.spawn () os.popen () Popen2. () команды. () Согласно официальной документации Python, модуль подпроцесса будет управлять этими ранее указанными функциями, поскольку они будут устарены очень скоро.

Теперь, когда вы знаете, зачем выбрать подпроцесс в Python и какие функции он собирается заменить. Итак, давайте узнаем о модуле подпроцесса Python.

Функция запущенного подпроцесса Python

SubProcess.run (args, * ,,,, ** Другие_popen_kwargs)

Функция SubProcess.run () была добавлена в Python 3.5, и рекомендуется использовать функцию Run () для выполнения команд оболочки в программе Python.

Аргумент Args в subprocess.run () Функция принимает команду оболочки и возвращает объект завершенной обработки в Python.

Пример:

Завершенная доставка объекта

out = subprocess.run('ls', shell=True)

>>> print(out)

CompletedProcess(args='ls', returncode=0)

Узнайте больше о Python Secrocess от оригинального поста.

Оригинал: “https://dev.to/divshekhar/python-subprocess-execute-shell-commands-1bl2”