[Python-Leipzig] Hallo Liste; Fragen zu IP-Addressen (Parsing und random generation)

Sven Teresniak knorke at zehnvierzig.org
Mo Okt 26 08:24:12 UTC 2009


Hallo Volker

On Sun, 25 Oct 2009 20:16:19 +0100
DVJ = "Dr. Volker Jaenisch" <volker.jaenisch at inqbus.de> wrote:

DVJ>  Ad 2):
DVJ>  Bein generieren von IPs machte ich es mir bisher einfach, suche aber für die Produktion etwas
DVJ>  eleganteres und effizienteres.

DVJ>  Wie kann man das besser machen?

l=[]
urandom=open("/dev/urandom")

def randomIP4_3(urandom):
        global l
        if len(l)<4:
                l=struct.unpack("B"*4000, urandom.read(4000))
                l=[`i` for i in l if i not in (0, 255)]      
        
        s=".".join((l.pop(), l.pop(), l.pop(), l.pop()))
        return s

def randomIP6_3(urandom):
        global l
        if len(l)<32:
                l=struct.unpack("H"*4000, urandom.read(8000))
                l=["%x" % i for i in l if i not in (0, 0xffff)]
        
        s=":".join((l.pop(), l.pop(), l.pop(), l.pop(),l.pop(), l.pop(), l.pop(), l.pop()))
        return s


MfG
Sven
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 198 bytes
Beschreibung: nicht verfügbar
URL         : <http://starship.python.net/pipermail/python-leipzig/attachments/20091026/2837d7fe/attachment.pgp>


Mehr Informationen über die Mailingliste Python-Leipzig