Почему socket.inet_aton возвращает упакованный формат в python?
Если я храню IP как целое число в базе данных (mysql), нужно ли мне всегда извлекать целочисленное значение или есть более простой выход?
inet_aton четко задокументировано для выполнения именно этой задачи, а «почему» даже очень подробно объяснено ...:
Преобразование адреса IPv4 из формат точечно-квадратичной строки (для Например, .4 123.45.67.89 ’) до 32-разрядного упакованный двоичный формат, как строка четыре длина символов Это полезно при разговоре с программой, которая использует стандартную библиотеку C и потребности объекты типа struct in_addr, которые это тип C для 32-битной упаковки двоичная эта функция возвращает.
in_addr
Чтобы преобразовать 4-байтовую строку в целое число и наоборот, см. Модуль struct .