[Tutor] Why is this error showing up? (Original Message: (Tutor) What's wrong with this code?) Ignore previous post.
Nathan Pinno
falcon3166 at hotmail.com
Thu Jul 7 09:40:51 CEST 2005
How do I change it to a dictionary, then? Or do I have to delete it, and
just code it in the main part of the code?
----- Original Message -----
From: "Ewald Ertl" <ewald.ertl at hartter.com>
To: <tutor at python.org>
Sent: Thursday, July 07, 2005 1:36 AM
Subject: Re: [Tutor] Why is this error showing up? (Original Message:
(Tutor) What's wrong with this code?) Ignore previous post.
> Hi!
>
>
> on Thu, 7 Jul 2005 01:13:48 -0600 "Nathan Pinno"
<falcon3166 at hotmail.com> 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" <kraus at hagen-partner.de>
> Nathan Pinno > To: <tutor at 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 at python.org
> Nathan Pinno > > http://mail.python.org/mailman/listinfo/tutor
> Nathan Pinno > >
> Nathan Pinno > _______________________________________________
> Nathan Pinno > Tutor maillist - Tutor at python.org
> Nathan Pinno > http://mail.python.org/mailman/listinfo/tutor
> Nathan Pinno >
>
>
> ------------------- end ----------------------
>
> HTH Ewald
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
More information about the Tutor
mailing list