我想加載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