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