Soy bastante nuevo en Python y estoy tratando de analizar un archivo. Solo ciertas líneas del archivo contienen datos de interés, y quiero terminar con un diccionario de las cosas analizadas a partir de líneas válidas coincidentes en el archivo.Cree un diccionario a partir de las coincidencias de expresiones regulares exitosas en python
El siguiente código funciona, pero es un poco feo y estoy tratando de aprender cómo se debe hacer, tal vez con una comprensión, o con una expresión regular multilínea. Estoy usando 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)
¿Puede sugerir una mejor implementación?
Las comprensiones pueden ser bonitas, pero no se puede vincular fácilmente una variable a un valor dentro de ellas, por lo que necesitaría el doble 're.search'. Solo usa un bucle. –