【发布时间】:2019-04-05 08:16:22
【问题描述】:
尝试从 .txt 文件中读取一行,然后根据该行的内容编写一个 if 语句。我写了我认为应该工作的内容,它会打印出该行,但是 if 语句会打印出“此行是错误的”
import linecache
test = open('test.txt', 'w+')
test.write('Test\n')
test.write('True\n')
test.close()
read = linecache.getline('test.txt', 2)
print(read)
if read == 'True':
print("The line is True")
else:
print('The line is False')
结果:
是的
这条线是假的
【问题讨论】:
-
读取 == 'True\n' ?
-
您确定该值为
True?你在写什么文件? (True\n) -
@BornTbeWasted 基于linecache docs,我想说您已经发现了问题。您应该将其发布为答案。
-
@BornTbeWasted 感谢更改 read == 'True\n'
-
我个人认为
read.strip() == 'True'会更好,但两者都可以。