Python Pickling 字典 EOFError

2024-03-09

我有几个脚本在服务器上运行,用于腌制和取消腌制各种字典。它们都使用相同的基本代码进行酸洗,如下所示:

SellerDict=open('/home/hostadl/SellerDictkm','rb')
SellerDictionarykm=pickle.load(SellerDict)
SellerDict.close()

SellerDict=open('/home/hostadl/SellerDictkm','wb')
pickle.dump(SellerDictionarykm,SellerDict)
SellerDict.close()

除其中一个脚本外,所有脚本都运行良好。有问题的人会去各个网站并抓取数据并将其存储在字典中。该代码整天运行 pickling 和 unpickling 字典,并在午夜停止。然后 cronjob 再次启动它 第二天早上。该脚本可以运行数周而不会出现问题,但大约每月一次,该脚本在尝试打开字典时会因 EOFError 而终止。字典的大小通常约为 80 MB。我什至尝试在腌制数据时在 SellerDict.close() 之前添加 SellerDict.flush() 以确保晚上被刷新。

知道是什么原因造成的吗? Python 非常稳定,所以我认为这不是由于文件的大小造成的。如果代码在死之前运行良好很长时间,它会让我相信字典中可能保存了一些导致此问题的内容,但我不知道。

另外,如果你知道除了 pickle 之外还有更好的保存字典的方法,我愿意接受其他选择。正如我之前所说,字典不断地被打开和关闭。澄清一下,只有一个程序会使用相同的字典,因此问题不是由多个程序尝试访问相同的字典引起的。

UPDATE:

这是我从日志文件中获得的回溯。

Traceback (most recent call last):
  File "/home/hostadl/CompileRecentPosts.py", line 782, in <module>
    main()
  File "/home/hostadl/CompileRecentPosts.py", line 585, in main
    SellerDictionarykm=pickle.load(SellerDict)
EOFError

所以这实际上是一个内存问题。当计算机耗尽 RAM 并尝试解封或加载数据时,该过程将失败并声明此 EOFError。我增加了计算机上的 RAM,这再也不是问题了。

感谢所有的评论和帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Pickling 字典 EOFError 的相关文章

  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • 从 scikit-learn 导入 make_blobs [重复]

    这个问题在这里已经有答案了 我收到下一个警告 D Programming Python ML venv lib site packages sklearn utils deprecation py 77 DeprecationWarning
  • keras加载模型错误尝试将包含17层的权重文件加载到0层的模型中

    我目前正在使用 keras 开发 vgg16 模型 我用我的一些图层微调 vgg 模型 拟合我的模型 训练 后 我保存我的模型model save name h5 可以毫无问题地保存 但是 当我尝试使用以下命令重新加载模型时load mod
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • Angular 2 动态双向绑定

    我正在尝试构建一个动态附加另一个组件的组件 作为一个例子 这是我的父类 import Component ComponentRef ViewChild ViewContainerRef ComponentFactoryResolver fr
  • 需要使用 Node.js 进行 SysLog 的建议

    我刚刚 npm install node syslog 但它不起作用 我有一个系统日志服务器 IP 地址和 local0 我正在寻找一个系统日志模块来帮助我将消息发布到系统日志 但我不知道我应该使用哪一个 请给我一些建议 谢谢 哦 如果有一
  • 如何防止Ktor客户端对url参数进行编码?

    我正在尝试使用 kotlin 创建一个 Android 应用程序 这个应用程序需要有一个迷你下载管理器 因为我需要下载从 100MB 到 8GB 的 文件 并且当服务器支持暂停时 用户可以稍后暂停和恢复下载 搜索我发现了Ktor 库并阅读文
  • 如何让 Unirest(java) 忽略证书错误

    我正在使用 Unirest java 版本 发出 GET 和 POST 请求 但是在访问 SSL 加密站点时遇到问题 因为我的程序位于公司网络后面 并且网络管理员为我设置了防火墙映射 例如foobar com被映射到56 1 89 12 4
  • 在php中获取远程图像的图像类型

    使用预构建的系统来抓取远程图像并将其保存到服务器上 目前 没有检查图像是否确实存在于该远程位置 并且它具有某种文件类型 jpg jpeg gif 我的任务是执行这两项操作 我认为这非常简单 因为我只需使用一个简单的正则表达式和 getima
  • 如何访问静态 Web 方法内的页面控件? [复制]

    这个问题在这里已经有答案了 我已经使用 jQuery 使用静态调用了代码隐藏方法WebMethod method 该 Web 方法调用成功 但当尝试访问文本框控件时出现错误 非静态字段 方法或属性需要对象引用 WebMethod publi
  • Django:动态构造 {% include %} 标签的值?

    我想用一个 include page html 在我的 Django 模板中标记 并构造值page html动态地 在 Django 中有什么方法可以做到这一点吗 这是一个伪代码示例 include page mode html Thank
  • 如何将 jar、源代码和 Javadoc 添加到本地 Maven 存储库?

    我想添加最新版本的 JGoodies Forms 1 5 0 作为依赖项 但我在主存储库中找不到比 1 0 5 更新的任何内容 所以如果我理解正确 我可以做的下一个最好的事情要做的就是将其添加到我的本地存储库中 当我从网站下载它时 我得到一
  • 使用 React 进行变更检测

    我正在研究更改检测机制 并且在reactjs案例中遇到了一些麻烦 当反应组件中的 props 发生变化时 该组件将被 重新渲染 由于 diff 算法的原因 这并不完全正确 但想法就在这里 我知道当某物发生这种情况时 React 会浏览其内部
  • 如何让 Rails 为 ember.js 生成正确格式的 JSON?

    在 Ember 模型指南中http emberjs com guides models the rest adapter toc relationships http emberjs com guides models the rest a
  • DialogFragment 按钮被推出屏幕 API 24 及更高版本

    我正在定制DialogFragment显示可选择的数据列表 该列表太长 无法在不滚动的情况下显示在屏幕上 对于 API 23 及以下版本 一切似乎都工作正常 但当我在 API 24 上进行测试时 DialogFragment 的按钮不再可见
  • 从 Firebase 数据库获取的数据显示在 3 个单独的警报对话框中,而不是一个

    我正在从中获取一些数据FirebaseDatabase然后将它们放入array然后尝试以List这是一个习惯AlertDialog 这是代码 query mDatabase child child child anotherChild ch
  • Spring MVC 4:“application/json”内容类型未正确设置

    我有一个使用以下注释映射的控制器 RequestMapping value json method RequestMethod GET produces application json ResponseBody public String
  • 如何强制删除Python对象?

    我很好奇的细节 del 在 python 中 何时 为什么应该使用它以及不应该使用它 我经历了惨痛的教训才知道 它并不像人们天真地期望的析构函数那样 因为它并不是与 new init class Foo object def init se
  • Jquery中动态选择Drop Down

    我有 4 个下拉菜单 默认情况下 每个 drop 都有一个 select 选项 每个盒子都有一个唯一的 ID 如您所见 如果上面的下拉列表值为 select 则禁用第二个下拉列表 仅当该值不是 select 时才会启用 这是我的代码 doc
  • Java ImageIO.read 导致 OSX 挂起

    我必须在 Mac OSX 上读取图像时执行一些操作 但是在调用 ImageIO read File 时它似乎挂起 似乎也没有出现堆栈跟踪 它实际上只是挂起 想知道其他人是否遇到过这个问题 我已经成功地写了一张图片 只是阅读方面似乎有问题 使
  • C# 中的双向适配器和可插拔适配器模式有什么区别?

    双向适配器和可插入适配器都可以访问这两个类 并且还可以更改需要更改的方法的行为 以下是我的代码 双向适配器 public interface IAircraft bool Airborne get void TakeOff int Heig
  • 即使删除 Entitlements.plist 后,Xamarin 钥匙串错误中也找不到有效的 iPhone 代码签名密钥

    我收到这个错误即使删除 Entitlements plist 后 Xamarin 钥匙串错误中仍发现 iPhone 代码签名密钥当尝试使用 Xamarin Studios 构建 HelloWorld iPhone 应用程序时 我了解在真实设
  • 使用 jemmy 测试 java web start 应用程序

    我需要使用 Jemmy 创建一些 gui 测试 但我不知道如何使用 javaws 应用程序启动它 在教程 示例 等中是这样的 new ClassReference org netbeans jemmy explorer GUIBrowser
  • Python Pickling 字典 EOFError

    我有几个脚本在服务器上运行 用于腌制和取消腌制各种字典 它们都使用相同的基本代码进行酸洗 如下所示 SellerDict open home hostadl SellerDictkm rb SellerDictionarykm pickle