青出于蓝 发表于 2020-5-19 14:18:41

Mac系统下pkl文件打不开,求方法

求啊~~~~~~~只要能帮到忙,比采纳!import pickle
my_list=]
pickle_file=open('my_list.pkl','wb')
pickle.dick=(my_list,pickle_file)
pickle_file.close()

Twilight6 发表于 2020-5-19 14:20:25

报错还是?

青出于蓝 发表于 2020-5-19 14:21:18

未设定用来打开文稿“my_list.pkl”的应用程序。

qiuyouzhi 发表于 2020-5-19 14:21:53

青出于蓝 发表于 2020-5-19 14:21
未设定用来打开文稿“my_list.pkl”的应用程序。

直接记事本打开

青出于蓝 发表于 2020-5-19 14:21:54

本帖最后由 青出于蓝 于 2020-5-19 14:23 编辑

谢谢

青出于蓝 发表于 2020-5-19 14:22:25

记事本打开后没有东西,存储的内容看不到

Twilight6 发表于 2020-5-19 14:23:14

青出于蓝 发表于 2020-5-19 14:21
未设定用来打开文稿“my_list.pkl”的应用程序。

这不清楚了 , 试试楼上的

Twilight6 发表于 2020-5-19 14:23:48

青出于蓝 发表于 2020-5-19 14:22
记事本打开后没有东西,存储的内容看不到

会不会给你open时候给覆盖了,毕竟是 wb 打开方式

青出于蓝 发表于 2020-5-19 14:23:48

Twilight6 发表于 2020-5-19 14:23
这不清楚了 , 试试楼上的

好的,还是感谢大佬回复~

青出于蓝 发表于 2020-5-19 14:24:20

windows系统我熟,Mac系统不大会搞这些东西

青出于蓝 发表于 2020-5-19 14:25:01

Twilight6 发表于 2020-5-19 14:23
会不会给你open时候给覆盖了,毕竟是 wb 打开方式

萌新一枚,求解释

青出于蓝 发表于 2020-5-19 14:30:21

qiuyouzhi 发表于 2020-5-19 14:21
直接记事本打开

txt文件格式打不开

青出于蓝 发表于 2020-5-19 14:30:56

打开也没有内容

Twilight6 发表于 2020-5-19 14:47:38

青出于蓝 发表于 2020-5-19 14:30
打开也没有内容

open 的 'w' 打开方式是若打开的文件已存在那么就用这个新文件覆盖原来的文件,若不存在就直接创建

如果之前用open的'w'写入方式打开过,内容就会空了

Twilight6 发表于 2020-5-19 15:03:50

青出于蓝 发表于 2020-5-19 14:30
打开也没有内容

你好像被审核了 休息一下再回复,现在我们看不到你的回复了

txxcat 发表于 2020-5-19 16:31:07

你的代码只有pickling的部分,没有unpickling的部分,pickle把数据打包成为一个二进制文件,用文本方式的打不开了,其特定的格式只有在python里unpickling才能恢复数据:
import pickle
pickle_file=open('my_list.pkl','rb')
mylist=pickle.load(pickle_file)
pickle_file.close()
print(mylist)
你的代码不就是小甲鱼的演示代码吗?下面不就是教你恢复的代码。

青出于蓝 发表于 2020-5-19 17:21:38

简单小程序求为何出错


b=int(input('请输入一个数字范围的最小数'))
c=int(input('请输入一个数字范围的最大数'))
d=int(input('请在你输入的范围内输入一个数'))
count=0
while True:
    if d>c or d<b:
      d=input('请重新在你输入的范围内输入一个数')
    else:
      break
      
while True:
   
    import random
    a=random.randint(b,c)
    count+=1
   
    if a==d:
      print('电脑一共猜了'+count+'次')
      break
      
   
   

老八秘制 发表于 2020-5-19 17:22:58

报错?

Twilight6 发表于 2020-5-19 17:22:59

本帖最后由 Twilight6 于 2020-5-19 17:25 编辑

因为要换电脑了~
count = 0
count你这定义的是整数 ,整数不能直接和字符串 相 +

print('电脑一共猜了' + str(count) + '次')
转为字符串即可
建议import 模块都放第一行,养成良好的习惯
完整代码:import random

b = int(input('请输入一个数字范围的最小数'))
c = int(input('请输入一个数字范围的最大数'))
d = int(input('请在你输入的范围内输入一个数'))
count = 0
while True:
    if d > c or d < b:
      d = input('请重新在你输入的范围内输入一个数')
    else:
      break

while True:

    a = random.randint(b, c)
    count += 1

    if a == d:
      print('电脑一共猜了' + str(count) + '次')
      break

qiuyouzhi 发表于 2020-5-19 17:23:02

改成这样:
import random

b=int(input('请输入一个数字范围的最小数'))
c=int(input('请输入一个数字范围的最大数'))
d=int(input('请在你输入的范围内输入一个数'))
count=0
while True:
    if d>c or d<b:
      d=input('请重新在你输入的范围内输入一个数')
    else:
      break
      
while True:

    a=random.randint(b,c)
    count+=1
   
    if a==d:
      print('电脑一共猜了', count,'次')
      break
P.S: 最好把导入模块的语句写到程序开头
页: [1] 2
查看完整版本: Mac系统下pkl文件打不开,求方法