Twilight6 发表于 2020-5-22 20:53:25

青出于蓝 发表于 2020-5-22 20:43
当时脑积水,现在发现有不少问题。ab+是没有问题了,怎么添加pkl文件里字典的键与值呢?

就按照你那样添加吧 加个循环就可以持续添加了

Twilight6 发表于 2020-5-22 20:55:54

青出于蓝 发表于 2020-5-22 20:43
当时脑积水,现在发现有不少问题。ab+是没有问题了,怎么添加pkl文件里字典的键与值呢?

对了 input 本身就是 以字符串输出的你不用再次 str 转为字符串了~

永恒的蓝色梦想 发表于 2020-5-22 20:58:32

青出于蓝 发表于 2020-5-22 20:43
当时脑积水,现在发现有不少问题。ab+是没有问题了,怎么添加pkl文件里字典的键与值呢?

全读到内存里,再写回去。

青出于蓝 发表于 2020-5-22 21:08:57

Twilight6 发表于 2020-5-22 20:53
就按照你那样添加吧 加个循环就可以持续添加了

循环是for循环还是while循环,我是萌新,有点蠢,见谅~~

青出于蓝 发表于 2020-5-22 21:09:32

永恒的蓝色梦想 发表于 2020-5-22 20:58
全读到内存里,再写回去。

不懂,能写个代码吗~~~

Twilight6 发表于 2020-5-22 21:10:22

青出于蓝 发表于 2020-5-22 21:08
循环是for循环还是while循环,我是萌新,有点蠢,见谅~~

while True:
    b=input('请输入您要永久存储某人的名字(输入Esc退出):')
    if b == 'Esc':
      break
    c=input('请输入您要永久存储的某人相关信息:')
    city={b:c}
    pickle.dump(city,a)
问题差不多都解决了,记得设置最佳 嘿嘿~~~

青出于蓝 发表于 2020-5-22 21:12:37

Twilight6 发表于 2020-5-22 21:10
问题差不多都解决了,记得设置最佳 嘿嘿~~~

感谢感谢~~~~我试试~~~
答案可靠,最佳是免不了达~{:10_256:}

青出于蓝 发表于 2020-5-22 21:33:07

Twilight6 发表于 2020-5-22 21:10
问题差不多都解决了,记得设置最佳 嘿嘿~~~

还是不行啊,用import pickle
pickle_file=open('pickle_file.pkl','rb')
a=pickle.load(pickle_file)
print(a)
打开文件后,显示的还是只有最后的那个输入

Twilight6 发表于 2020-5-22 21:39:05

青出于蓝 发表于 2020-5-22 21:33
还是不行啊,用打开文件后,显示的还是只有最后的那个输入

你只pickle.load 一次肯定啊

青出于蓝 发表于 2020-5-22 21:47:23

Twilight6 发表于 2020-5-22 21:39
你只pickle.load 一次肯定啊

这是另一个文件,我储存了很多数据后查看,没有。。

Twilight6 发表于 2020-5-22 21:48:02

青出于蓝 发表于 2020-5-22 21:33
还是不行啊,用打开文件后,显示的还是只有最后的那个输入

try:
    while True:
      print(pickle.load(a))
except:
    print('全部打印完成')

你打印要这样打的你每次dump 一次 是dump进去一个字典打印顺序也是和你dump进去顺序是一样的

你一次 pickle.load(a) 只能打印一次

青出于蓝 发表于 2020-5-22 21:50:13

您好像还不懂。。。
发个详细点的import pickle
print('永久储存内容输入地点!!!\n输入后不支持修改,请慎重填写!')
a=open('pickle_file.pkl','ab+')
while True:
    b=input('请输入您要永久存储某人的名字(输入Esc退出):')
    if b == 'Esc':
      break
    c=input('请输入您要永久存储的某人相关信息:')
    city={b:c}
    pickle.dump(city,a)
a.close()

这是输入并保存数据import pickle
print('永久存储内容查询地点!!!\n认真填写哦~~ ')
pickle_file=open('pickle_file.pkl','rb')
city=pickle.load(pickle_file)
a=input('请输入您要查询内容的标签:')
b=city
print('这是这个标签的内容:\n'+str(b))
这是调用数据import pickle
pickle_file=open('pickle_file.pkl','rb')
a=pickle.load(pickle_file)
print(a)

这个是查看所有数据
页: 1 [2]
查看完整版本: 关于字典的问题