私は私がファイルに辞書を保存するためにピクルスを使用するように言われた頼ま別の質問にいくつかのアドバイスをして[OK]を Pythonで辞書をファイルに保存する(pickleの代わりに)?
とにかく最後に、私はピクルスと一緒に行くことになったに答えました。ピクルスがファイルに保存されたとき、私は、ファイルに保存しようとしていた辞書は、これは形式
(dp0
S'Test'
p1
S'Test1'
p2
sS'Test2'
p3
S'Test2'
p4
sS'Starspy'
p5
S'SHSN4N'
p6
s.
あなたが私に与えてくださいすることができました...
members = {'Starspy' : 'SHSN4N', 'Test' : 'Test1'}
ました文字列をファイルに保存する別の方法は?
これは私はそれが= { 'Starspy': 'SHSN4N'、 'テスト': 'Test1を'}
メンバーに保存したいフォーマットで
完全コード:
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 == 2:
members == add_member(members)
print members
print "\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")
フォーマットに問題がありますか?どのようにそれが欲しいですか? –
通常の辞書として保存します。メンバーは{= Starspy ':' SHSN4N '、' Test ':' Test1 '} – wKavey
[Storing Python dictionaries](http://stackoverflow.com/q/7100125/562769) –