【发布时间】:2012-06-21 03:58:21
【问题描述】:
我对 Python 还是很陌生,我正在尝试解析一个文件。文件中只有某些行包含感兴趣的数据,我想最终得到一个从文件中有效匹配行解析的内容的字典。
下面的代码可以工作,但它有点难看,我正在尝试学习它应该如何完成,也许是理解,或者使用多行正则表达式。我正在使用 Python 3.2。
file_data = open('x:\\path\\to\\file','r').readlines()
my_list = []
for line in file_data:
# discard lines which don't match at all
if re.search(pattern, line):
# icky, repeating search!!
one_tuple = re.search(pattern, line).group(3,2)
my_list.append(one_tuple)
my_dict = dict(my_list)
您能提出一个更好的实施方案吗?
【问题讨论】:
-
理解可能很漂亮,但您不能轻易地将变量绑定到其中的值,因此您需要双精度
re.search。只需使用一个循环。
标签: python regex iterable dictionary-comprehension