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