"Kevin Walzer" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] >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 -- http://mail.python.org/mailman/listinfo/python-list