运行以下代码,将文本文件列中的值与给定数字进行比较,在本例中为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
打印列[5]位从txt文件中打印出正确的值,但即使它与440匹配,for循环中的if也不起作用
感谢您的帮助
答案 0 :(得分:5)
由于你的440是最后一件事,column[5] == '440\n'
您需要在比较之前去除值。
if columns[5].strip() == '440':
或首先剥离它:
columns = line.strip().split(" ")
或使用常规拆分,它将在所有空格上拆分:
columns = line.split()
或进行实际数字比较
if int(columns[5]) == 440: