从文本文件中读取值后,如果条件未在python中执行

时间:2018-08-04 21:06:22

标签: python python-2.x

我不明白为什么我的if条件没有在python中执行。 我的文本文件中的值是

 0.000      0 
 0.001      1 
 0.002      2 
f = open(sys.argv[1],"r").readlines()
var=0

for line in f:

    new = f[var].split()

    Time = new[0]
    rev=float(new[1])

    var=var+1

    if 0.001 > Time :

            print " I am here "

1 个答案:

答案 0 :(得分:3)

猜您应该重写代码:

filename = sys.argv[1]
with open(filename) as f:
    for line in f:
        time, rev = map(float, line.split())
        if time < 0.001:
            print("I'm here")

您试图将字符串(Time变量)与浮点数(0.001)进行比较-这是错误的。在python 2中可以,但始终为False。我建议您开始使用python 3-您无法将此版本的浮点数与字符串进行比较:)