Изучение различных методов выполнения команд CLI в Python

В этой статье мы рассмотрим различные методы запуска команд интерфейса командной строки (CLI) с использованием Python. Мы рассмотрим различные подходы, обсудим их преимущества и предоставим примеры кода для иллюстрации каждого метода. К концу вы получите четкое представление о том, как выполнять команды CLI в ваших программах Python.

Метод 1: использование модуля os
Модуль osв Python предоставляет способ взаимодействия с операционной системой. Он включает методы для выполнения системных команд с помощью функции os.system(). Вот пример:

import os
command = "ls -l"
os.system(command)

Метод 2: использование модуля subprocess
Модуль subprocessпредлагает более расширенные функциональные возможности для выполнения команд CLI. Он предоставляет гибкие возможности, такие как захват выходных данных, обработка ошибок и взаимодействие с процессом. Вот пример:

import subprocess
command = "ls -l"
result = subprocess.run(command, shell=True, capture_output=True, text=True)
print(result.stdout)

Метод 3: использование модуля osс конвейерной передачей
Модуль osтакже может обрабатывать команды с конвейерной передачей с помощью функции os.popen(). Это позволяет передавать выходные данные одной команды в качестве входных данных для другой. Вот пример:

import os
command = "ls -l | grep .txt"
output = os.popen(command).read()
print(output)

Метод 4: использование модуля sh
Модуль shобеспечивает более высокий уровень, более Pythonic-способ выполнения команд CLI. Это позволяет вам вызывать системные команды, как если бы они были функциями Python. Вот пример:

import sh
output = sh.ls("-l")
print(output)

Метод 5. Использование модуля commands(только для Python 2).
Для пользователей Python 2 модуль commandsпредлагает простой способ запуска системных команд и захвата данных. их выход. Вот пример:

import commands
command = "ls -l"
status, output = commands.getstatusoutput(command)
print(output)

В этой статье мы рассмотрели несколько методов выполнения команд CLI с использованием Python. Мы рассмотрели использование модулей osи subprocess, а также модулей shи commands(для Python 2).. Каждый метод имеет свои преимущества и варианты использования, поэтому выберите тот, который лучше всего соответствует вашим требованиям. Вооружившись этими знаниями, вы сможете легко включать команды CLI в свои программы Python.