我有一个文本文件,我需要存储在一个列表中。将文件的内容放入列表中?
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