Writing and reading variables to/from flat file

Geoffrey Clements geoffrey.clementsNO at SPAMbaesystems.com
Thu Dec 14 11:36:15 EST 2006


"Kevin Walzer" <kw at codebykevin.com> wrote in message 
news:84548$45816e6c$4275d90a$16465 at FUSE.NET...
>I want to write some variables (user preferences, specifically) to a
> text file and then read the values from that file.
>
> Here is my code to write the data:
>
> verbosemodes= """
>    Detailed = "-vv"
>    Basic = "-q"
>    """
>
> file = open('prefs', 'w')
>
> file.writelines(verbosemodes)
>
> file.close()
>
> And here is my code, in a separate module, to read the file and display
> the variable values:
>
> readfile = open('prefs').readlines()
>
> for line in readfile:
> print line
>
> print Basic
>
>
> Running the second module yields this error:
>
>    Detailed = "-vv"
>
>    Basic = "-q"
>
>
> Traceback (most recent call last):
>  File "readprefs.py", line 6, in <module>
>    print Basic
> NameError: name 'Basic' is not defined
>
> Clearly the data is getting read (the lines are being printed), but the
> variable itself ("Basic") is not being initialized properly. I'm not
> sure what I'm doing wrong here--can anyone point me in the right
> direction?  Thanks.
>

All you've done is print two strings with the contentents of the two lines 
from the file, this does not execute the code in these strings.

Try this:
readfile = open('prefs').readlines()

for line in readfile:
 print line
 eval(line)
 print Basic

-- 
Geoff






More information about the Python-list mailing list