Split function for host:port in standard lib
Michael Ströder
michael at stroeder.com
Tue Aug 26 08:49:10 EDT 2008
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.
More information about the Python-list
mailing list