Python subprocess.check_call: выполнение команд оболочки с примерами

“python subprocess.check_call” — это метод Python, используемый для выполнения команды в оболочке системы и ожидания ее завершения. Это метод блокировки, означающий, что выполнение кода будет приостановлено до тех пор, пока команда не завершит выполнение.

Вот несколько методов, которые вы можете использовать для выполнения команд с помощью subprocess.check_callс примерами кода:

Метод 1: выполнить команду оболочки без захвата вывода:

import subprocess
command = "ls -l"
subprocess.check_call(command, shell=True)

Метод 2: выполнить команду оболочки и записать выходные данные:

import subprocess
command = "echo Hello, World!"
output = subprocess.check_output(command, shell=True)
print(output.decode())

Способ 3: выполнить команду с аргументами:

import subprocess
command = ["echo", "Hello, World!"]
subprocess.check_call(command)

Метод 4. Обработка ошибок выполнения команд:

import subprocess
command = "unknown_command"
try:
    subprocess.check_call(command, shell=True)
except subprocess.CalledProcessError as e:
    print(f"Command execution failed with exit code {e.returncode}")

Это всего лишь несколько примеров того, как вы можете использовать subprocess.check_callдля выполнения команд оболочки в Python. Не забывайте соблюдать осторожность при выполнении команд из ненадежных источников, чтобы предотвратить уязвимости безопасности.