我想加载json字符串,我保存到文本文件回到Python。由于JSON模块给了我一个错误,当我给它一个空文件,我做了以下内容:为什么else子句在这个if中执行,elif,else(而不是前两个中的一个)?
fp = open(filename, 'r')
if fp.readlines() == []
# return an empty list, since the file is empty
elif fp.readlines() != []
# return the converted list
因为我现在有两个if a == b
和if a != b
,我很惊讶地发现,没有一个以if
如果我加上:
else:
print('something')
它实际上打印something
。这是为什么发生?在逻辑上如何存在某些东西,它的否定,然后是其他东西?
第一个'fp.readlines()'读取整个文件,所以下一个不会返回(进一步)行读取。您需要在它们之间回卷文件,“关闭”并再次“打开”它,或者将第一次结果保存在变量中并从该点开始使用它。 – martineau