python字典保存为文件_在Python中将字典保存到文件(替代pickle)?

回答我最后总是用腌菜结束

好,所以有一些建议另一个问题,我问我被告知使用pickle来保存字典到一个文件。

我试图保存到该文件的字典是

members = {'Starspy' : 'SHSN4N', 'Test' : 'Test1'}

当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’}

完整代码:

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")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值