http://www.ip2location.com/python.aspx
import IP2Location;
IP2LocObj = IP2Location.IP2Location();
IP2LocObj.open("data/IP-COUNTRY-SAMPLE.BIN");
rec = IP2LocObj.get_all("19.5.10.1");
print rec.zipcode
У меня нет опыта работы с этим пакетом, но, похоже, он будет делать то, что вы хотите.
РЕДАКТИРОВАТЬ: На самом деле, похоже, что это просто поиск по файлу данных, который они продают - так что, вероятно, не очень полезно, если вы ищете что-то бесплатное.