find integers in f.readline()

MRAB python at mrabarnett.plus.com
Fri Apr 30 10:48:16 EDT 2010


elsa wrote:
> 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?
> 
You can test whether a string contains only digits with the .isdigit()
method:

 >>> '83927'.isdigit()
True
 >>> '-10'.isdigit()
False
 >>> 'something_else'.isdigit()
False

but usually it's better just to catch the ValueError exception.



More information about the Python-list mailing list