How to read space separated file in python?

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Fri Nov 21 14:37:56 EST 2008


En Fri, 21 Nov 2008 14:13:23 -0200, Joe Strout <joe at strout.net> escribió:

> Right -- so using split() gives you the wrong answer for two different  
> reasons.  Try these:
>
>  >>> line = "1 x"
>  >>> a, b = line.split()   # b == "x", which is correct
>
>  >>> line = "2  "
>  >>> a, b = line.split()   # correct answer would be b == " "
> ValueError: need more than 1 value to unpack
>
>  >>> line = "3 x and here is some extra stuff"
>  >>> a, b = line.split()   # correct answer would be b == "x and here is  
> some extra stuff"
> ValueError: too many values to unpack
>
> Partition handles these cases correctly (at least, within the OP's  
> specification that the value of "b" should be whatever comes after the  
> first space).

split takes an additional argument too:

py> line = "3 x and here is some extra stuff"
py> a, b = line.split(None, 1)
py> a
'3'
py> b
'x and here is some extra stuff'

But it still fails if the line contains no spaces. partition is more  
robust in those cases

-- 
Gabriel Genellina




More information about the Python-list mailing list