#linux #types #raspberry-pi #integer #ssid
#linux #типы #raspberry-pi #целое число #ssid
Вопрос:
Я считываю Wi-Fi-соединение моего Raspberry Pi, используя iwgetid
команду.
Вывод:
wlan0 ESSID:"iPhone"
Я написал следующие строки в скрипте Python:
import os
print(os.system("iwgetid"))
print(type(os.system("iwgetid")))
Результат, который я получил, был:
0
<type 'int'>
Почему print(os.system("iwgetid")
выдает мне 0
, когда это строка?
Ответ №1:
Как указано здесь:
os.system() просто запускает процесс, он не фиксирует выходные данные:
Если команда генерирует какой-либо вывод, он будет отправлен в стандартный выходной поток интерпретатора. Возвращаемое значение — это код завершения процесса:
В Unix возвращаемое значение представляет собой статус завершения процесса, закодированный в формате, указанном для wait() .
Чтобы получить вывод из команды терминала, используйте модуль подпроцесса и команду subprocess.check_output
вместо os.system
.