@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.