我有一个有很多行的文件,前四行以一些字母(一个单词)开头,其余的以数字开头.我想迭代以数字开头的行(三位数字,例如'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)
因为startswith需要一个字符串,而不是正则表达式.你想要的re.match.
编辑:或import string; line.startswith(tuple(string.digits))(感谢@GarethRees)