Nathan, > for site,ID,passcard in sitelist.items(): > ValueError: need more than 2 values to unpack
The line is asking a dictionary (sitelist) to return 3 values (site, ID and passcard) from its items() method. But A dictionary stores things as name/value pairs so you can only get 2 items back not 3. Yopu need to change the code to read the key/value from the dictionary, and then, unpack the value data into the individual pieces. -------------------------- def save_file(pw): store = open('passcard.txt',"w") for site,ID,passcard in sitelist.items(): store.write(site + '\n') store.write(ID + '\n') store.write(passcard + '\n') store.close() def add_site(): print "Add a login info card" site = raw_input("Site: ") ID = raw_input("User ID: ") passcard = getpass.getpass("Password: ") sitelist[site] = [ID,passcard] ---------------------------- You see here? you store ID and passcard as a list, so items() will return that list alomng with the key. You need to unpick them from the list. You might be better investigating the shelve module which allows you to store a dictionaruy to a file and access it as if it were still a dictionary. Shelve would be pretty much ideal for this application. Alan G Author of the Learn to Program web tutor http://www.freenetpages.co.uk/hp/alan.gauld _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor