[Tutor] parse text file

Kent Johnson kent37 at tds.net
Tue Feb 2 13:27:53 CET 2010


On Tue, Feb 2, 2010 at 4:16 AM, Norman Khine <norman at khine.net> wrote:

> here are the changes:
>
> import re
> file=open('producers_google_map_code.txt', 'r')
> data =  repr( file.read().decode('utf-8') )

Why do you use repr() here?

> get_record = re.compile(r"""openInfoWindowHtml\(.*?\\ticon: myIcon\\n""")
> get_title = re.compile(r"""<strong>(.*)<\/strong>""")
> get_url = re.compile(r"""a href=\"\/(.*)\">En savoir plus""")
> get_latlng = re.compile(r"""GLatLng\((\-?\d+\.\d*)\,\\n\s*(\-?\d+\.\d*)\)""")
>
> records = get_record.findall(data)
> block_record = []
> for record in records:
>        namespace = {}
>        titles = get_title.findall(record)
>        for title in titles:
>                namespace['title'] = title


This is odd, you don't need a loop to get the last title, just use
  namespace['title'] = get_title.findall(html)[-1]

and similarly for url and latings.

Kent


>        urls = get_url.findall(record)
>        for url in urls:
>                namespace['url'] = url
>        latlngs = get_latlng.findall(record)
>        for latlng in latlngs:
>                namespace['latlng'] = latlng
>        block_record.append(namespace)
>
> print block_record
>>
>> The def of "namespace" would be clearer imo in a single line:
>>    namespace = {title:t, url:url, lat:g}
>
> i am not sure how this will fit into the code!
>
>> This also reveals a kind of name confusion, doesn't it?
>>
>>
>> Denis
>>
>>
>>
>>
>> ________________________________
>>
>> la vita e estrany
>>
>> http://spir.wikidot.com/
>> _______________________________________________
>> Tutor maillist  -  Tutor at python.org
>> To unsubscribe or change subscription options:
>> http://mail.python.org/mailman/listinfo/tutor
>>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>


More information about the Tutor mailing list