KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Answered I ended up going with pickle at the end anyway Ok so with some advice on another question I asked I was told to use pickle to save a dictionary to a file. The dictionary that I was trying to save to the file was members = {'Starspy' : 'SHSN4N', 'Test' : 'Test1'} When pickle saved it to the file... this was the format (dp0 S'Test' p1 S'Test1' p2 sS'Test2' p3 S'Test2' p4 sS'Starspy' p5 S'SHSN4N' p6 s. Can you please give me an alternative way to save the string to the file? This is the format that I would like it to save in members = {'Starspy' : 'SHSN4N', 'Test' : 'Test1'} Complete Code: import sys import shutil import os import pickle tmp = os.path.isfile("members-tmp.pkl") if tmp == True: os.remove("members-tmp.pkl") shutil.copyfile("members.pkl", "members-tmp.pkl") pkl_file = open('members-tmp.pkl', 'rb') members = pickle.load(pkl_file) pkl_file.close() def show_menu(): os.system("clear") print "\n","*" * 12, "MENU", "*" * 12 print "1. List members" print "2. Add member" print "3. Delete member" print "99. Save" print "0. Abort" print "*" * 28, "\n" return input("Please make a selection: ") def show_members(members): os.system("clear") print "\nNames", " ", "Code" for keys in members.keys(): print keys, " - ", members[keys] def add_member(members): os.system("clear") name = raw_input("Please enter name: ") code = raw_input("Please enter code: ") members[name] = code output = open('members-tmp.pkl', 'wb') pickle.dump(members, output) output.close() return members #with open("foo.txt", "a") as f: # f.write("new line\n") running = 1 while running: selection = show_menu() if selection == 1: show_members(members) print "\n> " ,raw_input("Press enter to continue") elif selection
Tags (comma-separated)
Save Edits
Cancel