Загрузка большого файла (25k записей)в dict происходит медленно в Python?

У меня есть файл, содержащий около 25000 строк, и это файл формата s19.

каждая строка имеет вид :S214 78001000802000000010000000000A508CC78C7A

В самом файле нет пробелов, первая часть 780010— это адрес этой строки, и я хочу, чтобы это было значением ключа dict, и я хочу, чтобы часть данных00802000000010000000000A508CC78Cбыла значением этого ключа. Я написал свой код следующим образом::

def __init__(self,filename):
    infile = file(filename,'r')
    self.all_lines = infile.readlines()
    self.dict_by_address = {}

    for i in range(0, self.get_line_number()):
        self.dict_by_address[self.get_address_of_line(i)] = self.get_data_of_line(i)

    infile.close()

get_address_of_line()и get_data_of_line()— это просто функции нарезки строк. get_line_number()перебирает self.all_lines и возвращает int

проблема в том, что процесс инициализации занимает у меня более 1 минуты, это то, как я неправильно строю dict или python просто нужно так долго это делать?

И, кстати, я новичок в python:)возможно, код больше похож на C/C++, буду признателен за любые советы о том, как программировать как python:)

5
задан shengy 16 April 2012 в 04:48
поделиться