我正在尝试使用以下代码读取文件以检查内容是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,该文件的输出也总是“做其他事情”。
有人知道我做错了吗?
提前致谢!
答案 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!"