大文件到列表中

时间:2013-04-04 02:46:35

标签: python list large-files

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

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

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

2 个答案:

答案 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)