迭代以数字开头的行

edg*_*edg 1 python

我有一个有很多行的文件,前四行以一些字母(一个单词)开头,其余的以数字开头.我想迭代以数字开头的行(三位数字,例如'123',后跟包含字母和数字的不同变量)并忽略前4行.这就是我所做的,但它在输出中给了我一个空白列表.

number = []  
for line in infile.readline():  
    line = line.rstrip()  
    if line.startswith('[0-9]'):
        number.append(line.split()[0])  
print number
Run Code Online (Sandbox Code Playgroud)

为什么输出中的"数字"列表为空?

这就是infile的样子:

Value = 152  
Numb = 0.005  
Pos = 75  
Samp = 12.5  
150    K    0.345  
234    T    0.764  
565    X    0.345 
Run Code Online (Sandbox Code Playgroud)

Kat*_*iel 5

因为startswith需要一个字符串,而不是正则表达式.你想要的re.match.

编辑:或import string; line.startswith(tuple(string.digits))(感谢@GarethRees)