[Tutor] parsing .txt

bob gailer bgailer at gmail.com
Tue Jun 10 13:45:43 CEST 2008


glist wrote:
> Let's say I have a file with this kind of content/lines
>
> textdata = '''
> %question What is Python?
> %correct A programming language
> %wrong A graphical package
> %wrong An operating system
>
> %question Is Computer Science really about computers?
> %wrong Yes
> %correct No
> '''
>
> I want to pose the question to a user and check his answer, so I come 
> up with this solution. Is there a better
> way thought? I particulary hate that "ptr = -1" hack of mine...
>
> questionary = []
> ptr = -1
>
> for line in textdata.split('\n'):
>     if line:
>         space = line.find(' ')
>         tag = line[1:space]
>         content = line[space+1:]
>
>         if tag == "question":
>             ptr += 1
>             questionary.append({tag : content})
>         else:
>             questionary[ptr].update({tag : content}) 
questionary = []

for line in textdata.split('\n'):
    if line:
        tag, content = line.split(' ', 1)
        if tag == "question":
            questionary.append({tag : content})
        else:
            questionary[-1].update({tag : content})

You might even consider making questionary a dictionary keyed by the 
question.

-- 
Bob Gailer
919-636-4239 Chapel Hill, NC



More information about the Tutor mailing list