Manuel Ebert wrote:
On Aug 26, 2008, at 1:31 PM, Michael Ströder wrote:
Is there a function in the standard lib which can be used to split a string containg 'host:port' into a tuple (host,port) and also does this reliably for IPv6 addresses?
>
AFAIK port names cannot contain any colons, so python2.5's 'host:port' .rsplit(':') should do the job. On < 2.5 you probably need to do something like
s = addr.rindex(':')
host, port = addr[:s], addr[s+1:]

Manuel, thanks for answering. But I already thought about this approach.
I should have mentioned that I'd like to return None for a missing port though. Note the :: in the IPv6 addresses.

Examples:
'localhost:389' -> ('localhost',389)
'localhost' -> ('localhost',None)

Examples IPv4 addresses:
'127.0.0.1' -> ('127.0.0.1',None)

Examples IPv6 addresses:
'::1:389' -> ('::1',389)
'::1' -> ('::1',None)

Ciao, Michael.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to