我正在寫一個應用程序,需要每隔5分鐘從1GB文件中讀取下一行;當達到到底應該從頂部保持文件永遠打開的風險
開始我想到2個解決方案,但我不能確定哪一個是最好的
解決方案1
class I:
def __init__(self):
self.count = 0
def lineFromFile(self) -> str:
with open('file.txt') as file:
for i in range(self.count):
file.readline()
line = file.readline()
if not line:
file.seek(0)
self.count = 0
line = file.readline()
self.count += 1
return line
解決方案2
class I:
def __init__(self):
self.file = open('file.txt')
def lineFromFile(self) -> str:
line = self.file.readline()
if not line:
self.file.seek(0)
line = self.file.readline()
return line
爲什麼不關閉並重新打開文件,每隔5分鐘跟蹤最後一行讀取而不是捆綁資源? –
這是解決方案1,但關閉/重新打開文件並將alllll向下滾動到特定行似乎不是最佳解決方案 –