import gevent
addrs = ["62.76.96.{}".format(octet) for octet in range(200,226)]
jobs = [gevent.spawn(gevent.socket.gethostbyaddr, addr) for addr in addrs]
gevent.joinall(jobs, timeout=3)
[print(job.value) for job in jobs]
:). Вообще, я считерил. в моём gevent gethostbyaddr unimplemented почему-то, хотя и есть в доках(у меня некий форк с bitbucket). Поэтому рабочий вариант у меня такой:
import gevent
from gevent import dns, socket
addrs = [socket.inet_aton("62.76.96.{}".format(octet)) for octet in range(200,226)]
jobs = [gevent.spawn(dns.resolve_reverse, addr) for addr in addrs]
gevent.joinall(jobs, timeout=3)
[print(job.value[1]) for job in jobs]
Еще можно попробовать намутить конвертацию в кириллицу посредством iconv -f koi7-r, но вначале нужно перегнать текст в KOI7 (т. е., к примеру, из Slavsja сделать Slavs`a)
На нём решаю сложные задачи. Типа что-нить из базы вытащить и какие-нить хитрые манипуляции с данными.
Или когда важна скорость, шелл сильно проигрывает в этом плане т.к. каждое действие это, по сути, запуск нового процесса.
Для простых задач питон не использовал т.к. это не всегда удобно.
Ну и сложно назвать скрипт полностью питонячим если там какой-нить subrpocess.Popen(«cat /proc/cpuinfo | grep blah-blah | wc -l»), т.е. по-сути, тут задача решена через шелл а не питон.
Поэтому я на питоне делаю только тогда когда есть от этого явный профит, пихать его только ради самой идеи везде юзать питон не стоит, проверено.
А вообще, я достаточно давно не писал на нём админских скриптов, всё больше законченные приложения. Поэтому моя оценка не самая объективная.