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 pickletmp = 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", "*" * 12print "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] = codeoutput = 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 = 1while running:selection = show_menu()if selection == 1:show_members(members)print "\n> " ,raw_input("Press enter to continue")elif selection == 2:members == add_member(members)print membersprint "\n> " ,raw_input("Press enter to continue")elif selection == 99:os.system("clear")shutil.copyfile("members-tmp.pkl", "members.pkl")print "Save Completed"print "\n> " ,raw_input("Press enter to continue")elif selection == 0:os.remove("members-tmp.pkl")sys.exit("Program Aborted")else:os.system("clear")print "That is not a valid option!"print "\n> " ,raw_input("Press enter to continue")