Python 取消勾选存储在网络驱动器上的大型对象
我有大的(~75MB)pickled对象,这些对象在映射的网络驱动器上可用(例如:X:/folder1/large_pickled_item.pk) 这些对象包含numpy数组+python列表,并使用cPickle协议2进行pickle处理 当我尝试取消勾选数据时,会收到以下错误消息: 使用pickle: KeyError:(随机字符) 使用cPickle: IOError:[Errno 22]参数无效 如果pickle对象的大小较小,则不会出现错误, 或者,如果我将(较大的)对象复制到本地驱动器并运行相同的脚本 知道问题出在哪里吗?这是python+pickle问题还是windows共享问题 注:Python 取消勾选存储在网络驱动器上的大型对象,python,windows,pickle,Python,Windows,Pickle,我有大的(~75MB)pickled对象,这些对象在映射的网络驱动器上可用(例如:X:/folder1/large_pickled_item.pk) 这些对象包含numpy数组+python列表,并使用cPickle协议2进行pickle处理 当我尝试取消勾选数据时,会收到以下错误消息: 使用pickle: KeyError:(随机字符) 使用cPickle: IOError:[Errno 22]参数无效 如果pickle对象的大小较小,则不会出现错误, 或者,如果我将(较大的)对象复制到本地驱
read()
拆分为多个较小的读取,并将该包装器呈现给pickle模块?这是由于一个错误,因此以大于64MB的块读取和写入网络文件不起作用
我建议尝试中介绍的解决方法的镜像
如果这样做没有帮助,也许您可以为file对象创建一个包装器,自动将每个大的
read()
拆分为多个较小的读取,并将该包装器呈现给pickle模块?这可能与您所指的问题非常类似,但这并不能解决我的问题:解决方案是使用w+b选项打开文件进行写入,类似的读取技巧不起作用这可能与您所指的问题相同,但它不能解决我的问题:解决方案是使用w+b选项打开文件进行写入,类似的阅读技巧也不管用谢谢你的回答,我已经尝试了镜像解决方法:用r+b打开文件不管用。我可以尝试另一个技巧,但我不确定泡菜是否只能在一个小盒子的一部分上使用object@Dhara:我的意思是,当请求读取时,比如64MB,它将获得两个32MB的块,合并它们,并将结果返回pickle模块。这将避开64MB的Windows限制。谢谢你的回答,我已经尝试了镜像解决方法:用r+b打开文件不起作用。我可以尝试另一个技巧,但我不确定泡菜是否只能在一个小盒子的一部分上使用object@Dhara:我的意思是,当请求读取时,比如64MB,它将获得两个32MB的块,合并它们,并将结果返回pickle模块。这将避开64MB的窗口限制。