的代碼,我現在的問題是這如何從只使用readline的文件讀取()
f = open(SINGLE_FILENAME)
lines = [i for i in f.readlines()]
但我proffessor要求是
您可以使用的ReadLine()。你可能不會使用read(),readlines()或迭代使用for的打開文件。
有什麼建議嗎? 感謝
的代碼,我現在的問題是這如何從只使用readline的文件讀取()
f = open(SINGLE_FILENAME)
lines = [i for i in f.readlines()]
但我proffessor要求是
您可以使用的ReadLine()。你可能不會使用read(),readlines()或迭代使用for的打開文件。
有什麼建議嗎? 感謝
第一稿:
lines = []
with open(SINGLE_FILENAME) as f:
while True:
line = f.readline()
if line:
lines.append(line)
else:
break
我感到相當肯定有更好的方式來做到這一點,但是這並避免與迭代,使用讀,或使用readlines方法。
您可以編寫一個生成器函數來繼續調用readline()
,直到該文件爲空,但在這裏看起來並沒有太大的改進。
非常感謝,這真的很好 – user1870662
這是根據我的經驗,幾乎可以肯定教授想要什麼;巧合的是,這種情況是你會發現教授無能的最簡單的示範之一。 –
+1 - 非常好。 – Aesthete
注:'線= f.readlines()'做同樣的(產生的列表線)。一個懶惰版本:'lines = f'(文件本身就是一個迭代器)。你在哪裏學習過'line = [i for f.readlines()]'(使用它是沒有意義的)?我已經多次看過這樣的代碼,我對它背後的起源或邏輯有什麼感興趣。 – jfs