免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3207 | 回复: 2
打印 上一主题 下一主题

pickle的疑惑 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-06-24 13:04 |只看该作者 |倒序浏览
import pickle

A={}
inp_1=input('第一次输入:')
inp_2=input('第二次输入:')
inp_3=input('第三次输入:')


A[inp_1]=[inp_2,inp_3,]
with open('testdb.txt','ab') as A_file:
    pickle.dump(A,A_file)

with open('testdb.txt','rb') as B_file:
    B=pickle.load(B_file)
    print("直接打印B%s:" % B)

print(B)

代码如上

目的:想通过输入的变量,追加到当前的字典中,用户输入的越多,字典越长
问题描述:可以正常dump到testdb.txt这个文件中,但是load的时候,只能print出来我第一次的输入

还望大牛赐教

论坛徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16赛季CBA联赛之江苏
日期:2016-04-28 09:43:3115-16赛季CBA联赛之吉林
日期:2016-06-22 10:34:4315-16赛季CBA联赛之山西
日期:2016-08-16 16:29:55
2 [报告]
发表于 2016-06-24 16:07 |只看该作者
因为是第一次打开文件的 是 ab.... 追加...  文件seek 一直在末尾等待新的写入. 所以在后面pickle load 的时候不对

论坛徽章:
0
3 [报告]
发表于 2016-06-28 16:22 |只看该作者
回复 2# Linux_manne


    已经解决了,就跟你说的差不多,写的时候不能用ab  要用wb  在写的时候 先load出来 然后写进去 然后在dump

    结贴了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP