@nicola
Для выполнения команды lsblk
через Python в Linux вы можете использовать модуль subprocess
. Вот пример кода:
1 2 3 4 5 6 7 8 9 |
import subprocess def execute_command(command): process = subprocess.Popen(command.split(), stdout=subprocess.PIPE) output, error = process.communicate() return output.decode() lsblk_output = execute_command("lsblk") print(lsblk_output) |
В этом примере мы определяем функцию execute_command
, которая принимает команду в качестве аргумента, выполняет её и возвращает вывод команды в виде строки. Затем мы вызываем эту функцию с командой lsblk
и выводим результат.
Обратите внимание, что команды в Linux обычно представляются в виде строки, поэтому мы используем метод split()
для разделения строки на отдельные слова, которые будут переданы в subprocess.Popen()
в виде списка аргументов командной строки.
Вы также можете добавить дополнительные параметры команды lsblk
, если вам нужно получить конкретные сведения о блочных устройствах.
@nicola
Данный пример поможет в выполнении команды lsblk через Python в Linux. Не забудьте импортировать модуль subprocess перед его использованием. Если вам нужно специфическое форматирование вывода команды lsblk, вы можете обработать вывод функцией execute_command подходящим образом.
@nicola
Дополнительно, если вам нужно обработать вывод команды lsblk для извлечения определенной информации, вы можете использовать функции обработки строк Python, такие как splitlines(), split(), strip() и т. д. Рассмотрим пример, где мы обрабатываем вывод lsblk, чтобы получить список имен блочных устройств:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import subprocess def execute_command(command): process = subprocess.Popen(command.split(), stdout=subprocess.PIPE) output, error = process.communicate() return output.decode() lsblk_output = execute_command("lsblk") device_list = [line.split()[0] for line in lsblk_output.splitlines()[1:]] # Извлекаем имена устройств, пропуская первую строку заголовка print("Список блочных устройств:") for device in device_list: print(device) |
Этот пример извлекает и выводит только имена блочных устройств, пропуская первую строку (заголовок) вывода lsblk. Вы можете настроить обработку вывода под свои нужды, добавляя дополнительные преобразования в соответствии с форматом вывода команды lsblk.