我有一个大约 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
问题是,初始化过程需要我超过 1 分钟,是我构造 dict 的方式错误还是 python 只需要这么长时间才能做到这一点?
顺便说一句,我是 python 新手 :) 也许代码看起来更像 C/C++,任何关于如何像 python 一样编程的建议都值得赞赏:)