0

我想知道如何将一个非常大的文件放入列表中?我的代码只适用于小文件:

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()

当我将它用于非常大的文本文件时,它只是一个空白区域。

4

2 回答 2

0

如果文件很大,则遍历文件(或创建生成器)并处理该行。
就像是:

for line in f:
    process_line(line)
于 2013-04-04T04:02:29.383 回答
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)
于 2013-04-04T03:01:53.083 回答