Попробуйте binascii модуль
from binascii import unhexlify
b = unhexlify(myhexstr)
Из perldoc perlvar
:
$ OSNAME
$ ^ O
Имя операционной системы, под которой была создана эта копия Perl, как определяется в процессе настройки. Значение идентично
$ Config {'osname'}
. См. Также Config и ключ командной строки -V, задокументированный в perlrun.На платформах Windows
$ ^ O
не очень полезен: поскольку это всегдаMSWin32
, это не так. Я не вижу разницы между 95/98 / ME / NT / 2000 / XP / CE / .NET. ИспользуйтеWin32 :: GetOSName ()
илиWin32 :: GetOSVersion ()
(см. Win32 и perlport ), чтобы различать варианты.
$^O eq 'MSWin32'
(Источник: справочная страница perlvar
)
Используйте Devel :: CheckOS . Он обрабатывает всю логику и особые случаи за вас. Обычно я делаю что-то вроде:
use Devel::CheckOS qw(die_unsupported os_is);
die "You need Windows to run this program!" unless os_is('MicrosoftWindows');
Семейства MicrosoftWindows знают о таких вещах, как Cygwin, поэтому, если вы работаете в Windows, но не в командной строке, os_is ()
все равно даст правильный ответ. .