我有一個文本文件,我需要存儲在一個列表中。將文件的內容放入列表中?
FILE:
1 1
4 2
9 10
我想有對象的列表。 L = [obj obj obj]
CODE:
def putInList(pathToFile):
myList = []
with open(pathToFile) as f:
for line in f:
s = line.split()
x, y = [int(v) for v in s]
jemand = Mensch(x, y)
myList.append(jemand)
return myList
這工作得很好! 我的問題是我訪問磁盤存儲器行數倍!
而這個樣本是人爲的,我將使用更大的文件。所以我寫了一個切片機,把它們放到~100MB
.txt
文件中。所以我想把它們放入list
而不需要訪問disk memory
萬次。
搜索和其他問題上的StackOverflow後,我發現這段代碼:
a = open(fileToPath, 'r')
L = [line for line in a.readlines()]
但我不知道如何分析一個列表?
你的假設是錯誤的,你會不會接盤內存$行倍。緩衝交易。別擔心,我已經遍歷了幾千兆字節的文件。 – L3viathan
@ L3viathan,只有解析一個100MB的文件需要15分鐘!這聽起來很正常嗎? –
我不知道你的'男裝'班是做什麼的,所以我不知道究竟是什麼瓶頸。但是,如果將所有內容都放在RAM中,無論如何將文件分成幾部分並不會有幫助。有關更多建議請參閱我的答案。 – L3viathan