How do I decrease the memory used by a large list in python

后端 未结 2 875
别跟我提以往
别跟我提以往 2021-01-15 01:33

I\'m writing a program, it works fine but when it loads the database(a 100MB text file) to a list it\'s memory usage becomes 700-800MB

Code used to load the file to

2条回答
  •  刺人心
    刺人心 (楼主)
    2021-01-15 01:53

    As long as you don't need the complete file in memory, you could read one line at a time:

    database = []
    db = open('database/db.hdb')
    line = db.readline()
    while line:
        line = line.split(':')
        database.append(line)
        line = db.readline()
    

    See here for details on file.readline()

提交回复
热议问题