LINUX.ORG.RU

История изменений

Исправление proud_anon, (текущая версия) :

b'H' — это литерал. Python на этапе парсинга скрипта подставляет объект bytes, полученный путём кодирования строки 'H' в UTF-8.

С помощью decode ты во время выполнения преобразуешь (заранее неизвестные) объекты bytes в str, декодируя их по UTF-8.

Ещё раз повторю, что, по моему мнению, проще писать tmac = str(omac)

Кроме того, ты мог передать конструктору Popen параметр universal_newlines=True, и тогда stdout.read() возвращал бы строки.

Кроме того, вместо subprocess.Popen ты мог бы вызвать subprocess.check_output или subprocess.run (в Python 3.5).

Исходная версия proud_anon, :

b'H' ­— это литерал. Python на этапе парсинга скрипта подставляет объект bytes, полученный путём кодирования строки 'H' в UTF-8.

С помощью decode ты во время выполнения преобразуешь (заранее неизвестные) объекты bytes в str, декодируя их по UTF-8.

Ещё раз повторю, что, по моему мнению, проще писать tmac = str(omac)

Кроме того, ты мог передать конструктору Popen параметр universal_newlines=True, и тогда stdout.read() возвращал бы строки.

Кроме того, вместо subprocess.Popen ты мог бы вызвать subprocess.check_output или subprocess.run (в Python 3.5).