Hi!
on Thu, 7 Jul 2005 01:13:48 -0600 "Nathan Pinno" <[EMAIL PROTECTED]> wrote : --------------------------------------------------------------------------------------------- Nathan Pinno > Thanks Wolfram for help with that error. Nathan Pinno > Nathan Pinno > Here's another that popped up: Nathan Pinno > Nathan Pinno > Traceback (most recent call last): Nathan Pinno > File "D:\password.py", line 68, in ? Nathan Pinno > for x in site.keys(): Nathan Pinno > AttributeError: 'str' object has no attribute 'keys' Nathan Pinno > The Traceback tells you on which line the error is. site comes from your input : site = raw_input("Site: ") which is a string and not a dictionary. Nathan Pinno > How to fix it? Nathan Pinno > Nathan Pinno > Thanks, Nathan Pinno > Nathan Pinno Nathan Pinno > ----- Original Message ----- Nathan Pinno > From: "Wolfram Kraus" <[EMAIL PROTECTED]> Nathan Pinno > To: <tutor@python.org> Nathan Pinno > Sent: Thursday, July 07, 2005 1:02 AM Nathan Pinno > Subject: Re: [Tutor] Why is this error showing up? (Original Message: Nathan Pinno > (Tutor) What's wrong with this code?) Ignore previous post. Nathan Pinno > Nathan Pinno > Nathan Pinno > > You wrote filename == raw_input("Filename to load: ") instead of Nathan Pinno > > filename = raw_input("Filename to load: ") Nathan Pinno > > Nathan Pinno > > HTH, Nathan Pinno > > Wolfram Nathan Pinno > > Nathan Pinno > > Nathan Pinno wrote: Nathan Pinno > >> Hi all, Nathan Pinno > >> Nathan Pinno > >> Here's one of the messages that pops up: Nathan Pinno > >> Nathan Pinno > >> Traceback (most recent call last): Nathan Pinno > >> File "D:\password.py", line 77, in ? Nathan Pinno > >> filename == raw_input("Filename to load: ") Nathan Pinno > >> NameError: name 'filename' is not defined Nathan Pinno > >> Nathan Pinno > >> Why is it popping up whenever I try to load a file? Nathan Pinno > >> Nathan Pinno > >> Here's the latest code: Nathan Pinno > >> Nathan Pinno > >> # This is the code for a password protected program to store passwords. Nathan Pinno > >> password = "hello" Nathan Pinno > >> print "The Password Program" Nathan Pinno > >> print "Copyright 2005 Nathan Pinno." Nathan Pinno > >> print Nathan Pinno > >> answer = raw_input("What is the password? ") Nathan Pinno > >> while password != answer: Nathan Pinno > >> print "The password is incorrect." Nathan Pinno > >> answer = raw_input("What is the password? ") Nathan Pinno > >> def main_menu(): Nathan Pinno > >> print "1) Add a login info card" Nathan Pinno > >> print "2) Lookup a login info card" Nathan Pinno > >> print "3) Remove a login info card" Nathan Pinno > >> print "4) Print Login info list" Nathan Pinno > >> print "5) Save login list" Nathan Pinno > >> print "6) Open Login list" Nathan Pinno > >> print "9) Exit" Nathan Pinno > >> Nathan Pinno > >> def load_login(site,filename): Nathan Pinno > >> in_file = open(filename,"r") Nathan Pinno > >> while 1: Nathan Pinno > >> in_line = in_file.readline() Nathan Pinno > >> if len(in_file) == 0: Nathan Pinno > >> break Nathan Pinno > >> in_line = in_line[:-1] Nathan Pinno > >> [site,id,passcard] = string.split(in_line,",") Nathan Pinno > >> list[site] = id and passcard Nathan Pinno > >> in_file.close() Nathan Pinno > >> Nathan Pinno > >> def save_login(site,filename): Nathan Pinno > >> out_file = open(filename,"w") Nathan Pinno > >> for x in site.keys(): site comes form your input : site = raw_input("Site: ") and is a string and not a dictionary. Perhaps you will use here "sites", but there are no items added to sites?? Nathan Pinno > >> out_file.write(x+","+sites[x]+"\n") Nathan Pinno > >> out_file.close() Nathan Pinno > >> Nathan Pinno > >> menu_choice = "0" Nathan Pinno > >> list = {} Nathan Pinno > >> print "Welcome to the second half of the program." Nathan Pinno > >> print main_menu() Nathan Pinno > >> while menu_choice != "9": Nathan Pinno > >> menu_choice = raw_input("Choose an option: ") Nathan Pinno > >> if menu_choice == "1": Nathan Pinno > >> print "Add a login info card" Nathan Pinno > >> site = raw_input("Site: ") Nathan Pinno > >> id = raw_input("User ID: ") Nathan Pinno > >> passcard = raw_input("Password: ") Nathan Pinno > >> list[site] = id and passcard Nathan Pinno > >> menu_choice = raw_input("Choose an option: ") Nathan Pinno > >> elif menu_choice == "2": Nathan Pinno > >> print "Lookup a login info card" Nathan Pinno > >> site = raw_input("Site: ") Nathan Pinno > >> if site.has_key(site): Nathan Pinno > >> print "The ID is: ",id(site) Nathan Pinno > >> print "The password is: ",passcard(site) Nathan Pinno > >> else: Nathan Pinno > >> print site," was not found." Nathan Pinno > >> menu_choice = raw_input("Choose an option: ") Nathan Pinno > >> elif menu_choice == "3": Nathan Pinno > >> print "Remove a login info card" Nathan Pinno > >> site = raw_input("Site: ") Nathan Pinno > >> if sites.has_key(site): Nathan Pinno > >> del numbers[site] Nathan Pinno > >> else: Nathan Pinno > >> print site," was not found." Nathan Pinno > >> menu_choice = raw_input("Choose an option: ") Nathan Pinno > >> elif menu_choice == "4": Nathan Pinno > >> print "Login Info" Nathan Pinno > >> for x in site.keys(): Here's the next use of the input-String "site" as a dictionary which will fail. Nathan Pinno > >> print "Site: ",x," \tID: ",numbers[x]," \tPassword: Nathan Pinno > ",numbers[x] Nathan Pinno > >> print Nathan Pinno > >> menu_choice = raw_input("Choose an option: ") Nathan Pinno > >> elif menu_choice == "5": Nathan Pinno > >> filename = raw_input("Filename to save: ") Nathan Pinno > >> save_login(list,filename) Nathan Pinno > >> menu_choice = raw_input("Choose an option: ") Nathan Pinno > >> elif menu_choice == "6": Nathan Pinno > >> filename == raw_input("Filename to load: ") Nathan Pinno > >> load_login(list,filename) Nathan Pinno > >> menu_choice = raw_input("Choose an option: ") Nathan Pinno > >> print "Have a nice day!" Nathan Pinno > >> Nathan Pinno > >> Anything else that needs addressing? Nathan Pinno > >> Nathan Pinno > >> Thanks, Nathan Pinno > >> Nathan Pinno Nathan Pinno > >> http://www.npinnowebsite.ca/ Nathan Pinno > >> Nathan Pinno > > Nathan Pinno > > _______________________________________________ Nathan Pinno > > Tutor maillist - Tutor@python.org Nathan Pinno > > http://mail.python.org/mailman/listinfo/tutor Nathan Pinno > > Nathan Pinno > _______________________________________________ Nathan Pinno > Tutor maillist - Tutor@python.org Nathan Pinno > http://mail.python.org/mailman/listinfo/tutor Nathan Pinno > ------------------- end ---------------------- HTH Ewald _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor