find integers in f.readline()

Alf P. Steinbach alfps at start.no
Fri Apr 30 04:33:27 CEST 2010


On 30.04.2010 04:22, * elsa:
> Hi people,
>
> I'm having a problem getting the info I need out of a file.
>
> I've opened the file with f=open('myFile','r').
>
> Next, I take out the first line with line=f.readline()
>
> line looks like this:
>
> '83927 300023_25_5_09_FL 9086 9134 F3LQ2BE01AQLXF 1 49 + 80
> ZA8Z89HIB7M'
>
> I then split it into parts with parts = line.split()
>
> ['83927', '300023_25_5_09_FL', '9086', '9134', 'F3LQ2BE01AQLXF', '1',
> '49', '+', '80', 'ZA8Z89HIB7M']
>
> Now, I need to test whether I can call int(parts[0]) or not. Some of
> the lines in my file start with a value which represents and integer
> (as above), while others are just strings of characters. I want to
> extract just the lines like the one above, that start with an integer.
> Any suggestions?

<code>
#Py3

lines = (
     "83927 300023_25_5_09_FL 9086 9134 F3LQ2BE01AQLXF 1 49 + 80 ZA8Z89HIB7M",
     "blah blah",
     "2 small tortoises"
     )

for line in lines:
     parts = line.split()
     if len( parts ) > 0:
         try:
             v = int( parts[0] )
             print( "OK " + line )
         except ValueError:
             print( "!  " + line )
</code>


Cheers & hth.,

- Alf




More information about the Python-list mailing list