Python read()if语句

时间:2014-01-20 18:47:13

标签: python

我正在尝试使用以下代码读取文件以检查内容是0还是1:

#!/usr/bin/env python

file = open('test', 'r')

read=file.read()

if read == 2:
        print "do something"
else:   print "do something else"

但即使文件包含2,该文件的输出也总是“做其他事情”。

有人知道我做错了吗?

提前致谢!

3 个答案:

答案 0 :(得分:2)

首先,您要将字符串与int read == 2进行比较。那将永远是假的。此外,考虑可能的行结尾并观察您的缩进。代码应该是这样的:

file = open('test', 'r')

read=file.read().rstrip('\n')   # removes possible line endings

if read == '2':
    print "do something"
else:
    print "do something else"

希望这有帮助!

答案 1 :(得分:1)

file.read()返回一个字符串。如果文件中只有2,则需要将其转换为int

read = int(file.read())

或者进行字符串检查:

if read == '2':

答案 2 :(得分:1)

您将从文件中读取的行(即字符串)与整数进行比较。请尝试以下方法:

if int(read.strip()) == 2:
    print "Hello!"