私はリストに保存する必要があるテキストファイルを持っています。ファイルの内容をリストに入れますか?
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()]
をしかし、私はリストを解析する方法に見当もつかない?
あなたの仮定は間違っています、あなたは$ lines回ディスクメモリにアクセスしません。バッファリングはそれを扱います。心配しないで、数ギガバイトのファイルを繰り返しました。 – L3viathan
@ L3viathan、100MBファイルの解析では15分かかるだけです!それは正常に聞こえるか? –
私はあなたの 'Mensch'クラスが何をしているのか分からないので、私はボトルネックが何であるか正確にはわかりません。しかし、ファイルを分割して分割しても、最終的にすべてのものをRAMに入れておけば役に立ちません。他の提案については、私の答えを参照してください。 – L3viathan