我想知道如何将一个非常大的文件放入列表中?我只能处理小文件的代码:
def populate_director_to_movies(f):
'''
(file open for reading) -> dict of {str: list of str}
'''
movies = []
line = f.readline()
while line != '':
movies.append(line)
line = f.readline()
当我将它用于一个非常大的文本文件时,它只是一个空白区域。
答案 0 :(得分:0)
为什么不使用Python的with
语句?
def populate_director_to_movies(f):
with open(f) as fil:
movies= fil.readlines()
或者,如果文件对于内存来说太大,请使用文件迭代器。
def populate_director_to_movies(f):
movies = []
with open(f) as fil:
for line in fil:
movies.append(line)
答案 1 :(得分:0)
如果文件很大,请遍历文件(或创建生成器),然后处理该行 类似的东西:
for line in f:
process_line(line)