約 25000 行のファイルがあり、それは s19 形式のファイルです。
各行は次のようになります: S214 780010 00802000000010000000000A508CC78C 7A
実際のファイルにはスペースはありません。最初の部分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 を返します
問題は、initプロセスに1分以上かかることです.dictを作成する方法が間違っているのでしょうか、それともPythonでこれを行うのに時間がかかるだけですか?
ところで、私は python は初めてです :) コードは C/C++ に似ているかもしれませんが、python のようにプログラミングする方法についてのアドバイスをいただければ幸いです :)