|
|
11鱼币
大佬们好,现在想设计一个问卷,然后把这个问卷得到的结果永久保存,我使用pickle为何没有成功?代码如下:
- import pickle
- user_info = {}
- def ques():
- key = input('你叫什麽名字?\n')
- value = input('你的星座是什麽?\n')
- user_info[key] = value
- print('感謝參與')
- def save_ques():
- with open('user_file.txt','wb') as uf:
- pickle.dump(user_info,uf)
- uf.close()
- def show_ques():
- for keys,values in user_info.items():
- print('被調查者姓名是:\t'+keys)
- print('被調查者星座是:\t'+values)
-
- user_choice = input('選擇問卷請按1,查看問卷請按2:')
- if user_choice == '1':
- ques()
- save_ques()
- elif user_choice == '2':
- show_ques()
-
复制代码
功能实现,按1,可以参与调查,按2,可以查看调查的信息,但是我这个却只能显示当次调查结果,关了程序再进入,调查结果又为空了,但是有调查结果的文件明明保存了。如何解決这个问题,是不是在show()這裡應該 做個什麽改變 ,一時想不過去了,懇請大佬指點一二
在你的程序基础上修改的。
- import pickle
- user_info = {}
- def ques():
- key = input('你叫什麽名字?\n')
- value = input('你的星座是什麽?\n')
- user_info[key] = value
- print('感謝參與')
- def save_ques():
- with open('user_file.txt','wb') as uf:
- pickle.dump(user_info,uf)
- def load_ques():
- global user_info
- with open('user_file.txt', 'rb') as uf:
- user_info = pickle.load(uf)
- def show_ques():
- for keys,values in user_info.items():
- print('被調查者姓名是:\t'+keys)
- print('被調查者星座是:\t'+values)
-
- user_choice = input('選擇問卷請按1,查看問卷請按2:')
- if user_choice == '1':
- ques()
- save_ques()
- elif user_choice == '2':
- load_ques()
- show_ques()
复制代码
|
|