当需要匹配处理两个文件时,且文件的行数较大,嵌套循环是非常低效的办法,可以将其中一个文件转换成字典(前提是内存足够),然后循环检索字典。
# 编写函数传入文件句柄,将需要的信息构建成键值对
#(这里只需要键的信息,后续不需要用到值(固定为1),如需要,相应赋值即可)
value = 1
def pro_dict(file_handle):
arr_info = []
dict_name = {}
for line in file_handle:
line = line.strip()
arr_info = line.split("\t")
merge_to_key = arr_info[0]
dict_name[merge_to_key] = value
return dict_name
file_handle_dict = pro_dict(file_handle1)
for line in file_handle2:
arr_info = []
line = line.strip()
arr_info = line.split("\t")
file_handle2_search = arr_info[0]
# if(file_handle2_search in file_handle_dict.keys()):
if(file_handle2_key in file_handle_dict):
# 这里再进行其它操作
pass
网友评论