1

运行以下代码以将文本文件列中的值与给定数字进行比较,在本例中为 440

with open('test.txt', 'a+') as input:
 for line in input:
  columns = line.split(" ")
  print columns[5] #test
  if columns[5] == '440':
   print 'match'

test.txt 只是:

0 0 0 0 0 1
0 0 0 0 0 440
0 0 0 0 0 1   
0 0 0 0 0 440
0 0 0 0 0 1
0 0 0 0 0 1

print columns[5] 位从 txt 文件中打印出正确的值,但即使匹配 440,for 循环中的 if 也不起作用

感谢您的任何帮助

4

1 回答 1

5

由于您的 440 是最后一行,column[5] == '440\n'

您需要在比较之前去除这些值。

if columns[5].strip() == '440':

或先剥离它:

columns = line.strip().split(" ")

或使用一般拆分,它将拆分所有空格:

columns = line.split()

或者做一个实际的数字比较

if int(columns[5]) == 440:
于 2012-11-24T17:53:09.367 回答