On Fri, May 1, 2015 at 7:42 PM, <the.lo...@gmail.com> wrote: > Hi all, > > Given the following code: > > import ipaddress > import socket > > ip = ipaddress.ip_address(mystring) > sock_family = ip.???? > socket = socket.socket(sock_family, socket.SOCK_STREAM) > > Am I crazy or is this undoable? > > sock.AF_INET == 2 > sock.AF_INET6 == 10 > ip.version == 4 or 6
Are you trying to look up a name to get an address? Or just look up an address? The easiest way would be to use a ternary if: sock_family = sock.AF_INET if ip.version == 4 else sock.AF_INET6 But you may find it convenient to use a dedicated function for establishing a connection, which could look up an AAAA or A record for a name, then proceed through all addresses, attempting connections in turn. I'm fairly sure one exists in Python, but I can't right now remember the name. ChrisA -- https://mail.python.org/mailman/listinfo/python-list