鱼C论坛

 找回密码
 立即注册
查看: 2297|回复: 4

pickle不能写入

[复制链接]
发表于 2020-10-20 21:02:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 qin_yin 于 2020-10-20 22:29 编辑

为什么文件不能修改
捕获.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-20 22:33:41 | 显示全部楼层
我另一种方式修改成功了文件,但是我修改之后就不能读取了,读取就报错:EOFError: Ran out of input,只有重新打开才能读取
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-21 08:08:16 | 显示全部楼层
本帖最后由 suchocolate 于 2020-10-21 08:14 编辑

图里的是因为写入之后,文件没有关闭,相当于没保存,然后又读取了一遍,打印出来就还是老的。
爬忘记关闭建议使用with open:
import pickle

# 原数据[4,3,2,1]
ls1 = [1, 2, 3, 4]
with open('test.pkl', 'wb') as f:
    pickle.dump(ls1, f)

with open('test.pkl', 'rb') as f:
    result = pickle.load(f)
    print(result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-21 08:08:59 | 显示全部楼层
qin_yin 发表于 2020-10-20 22:33
我另一种方式修改成功了文件,但是我修改之后就不能读取了,读取就报错:EOFError: Ran out of input,只有 ...

你的另一种方式是什么,把代码贴出来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-21 13:16:36 | 显示全部楼层
suchocolate 发表于 2020-10-21 08:08
图里的是因为写入之后,文件没有关闭,相当于没保存,然后又读取了一遍,打印出来就还是老的。
爬忘记关闭 ...

代码有点长我把修改和查看的部分给你看
修改
    with open('D:\\测试文件\\数据表\\洗车登记表.pkl','rb') as oid_text_file:
        temp = time.localtime(os.path.getatime('D:\\测试文件\\数据表\\洗车登记表.pkl'))
        write_time = '日期:%d年:%d月:%d日:%d时:%d分\n\n' % (temp[0],temp[1],temp[2],temp[3],temp[4])
        centext = pickle.load(oid_text_file)
        
    with open('D:\\测试文件\\数据表\\洗车登记表.pkl', 'wb') as new_text_file:
        length = len(project)
        for i in range(length):
            centext += project[i] + ':' + text[i] + '\n'
        centext += write_time
        pickle.dump(centext,new_text_file)
        urse_longin()
查看:
with open('D:\\测试文件\\数据表\\洗车登记表.pkl','rb') as car_file:
        car_list = pickle.load(car_file)
        show_car_list = g.textbox('洗车登记表',text=car_list)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 07:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表