问题标签 [pickle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
15397 浏览

python - 如何使用“泡菜”

我的代码(我无法使用“泡菜”):

打印 :

谁能告诉我怎么用。

0 投票
1 回答
1228 浏览

python - multiprocessing.Process 子类适用于 Linux 但不适用于 Windows

我试图让python-gasp在 Windows 上工作,但是当我这样做时,import gasp; gasp.begin_graphics()我得到以下回溯:

知道为什么我在 Windows XP 上出现此错误,但在 Ubuntu Linux 9.04 上却没有?

如果有帮助,它看起来像是( defscreen.updater )的一个实例。有问题的文件位于http://bazaar.launchpad.net/~gasp-dev/gasp-core/main/annotate/head%3A/gasp/backend.pyUpdater(multiprocessing.Process)

0 投票
2 回答
5609 浏览

python - 将Python字典存储在磁盘上的有效方法?

在磁盘上存储 Python 字典的最有效方法是什么?我现在知道的唯一方法是纯文本和pickle模块。

编辑:对不起,不是很清楚。高效是指最快的执行速度。字典将包含可变对象,这些对象将保存要解析和修改的信息。

0 投票
5 回答
13656 浏览

python - 使用pickle将巨大的二元字典保存到文件

我的一个朋友写了这个小程序。大小为textFile1.2GB(价值 7 年的报纸)。他成功地创建了字典,但他无法使用 pickle 将其写入文件(程序挂起)。

提前致谢。

对任何感兴趣的人进行编辑
,我将简要解释该程序的作用。假设您的文件格式大致如下:

  • <s>是句子分隔符。
  • 每行一个字。

生成一个 biGramDictionary 供以后使用。
像这样的东西:

希望这可以帮助。现在策略改为使用 mysql 因为 sqlite 不起作用(可能是因为大小)

0 投票
1 回答
621 浏览

ruby - 关于黄瓜/泡菜的问题

我正在尝试更熟悉 Rails / ActiveRecord。在尝试这样做时,我试图使用 Cucumber 来帮助进行一些“发现”测试。

我有以下

编辑

我没有自定义步骤 - 尝试使用开箱即用的黄瓜和泡菜(只是为了限制我的困惑)。

模型是

谁能指出我正确的方向(或者如果我需要发布更多代码)?

谢谢,

0 投票
1 回答
93 浏览

cucumber - 尚未提及访问相关模型

我有一个引用公司的用户工厂

公司用户众多。现在我希望公司有很多客户。无需提及公司,只需检查一旦创建客户,它就属于公司。

最后一句话是我关心的。我如何告诉 Pickle 我登录的用户在工厂有一个与之关联的公司模型,因此请检查该公司以查看现在是否有与之关联的客户。

谢谢

0 投票
6 回答
46744 浏览

python - 更改模块目录后的 Python 酸洗

我最近更改了程序的目录布局:以前,我将所有模块都放在“主”文件夹中。现在,我将它们移动到以程序命名的目录中,并在__init__.py那里放置以制作包。

现在我的主目录中有一个 .py 文件,用于启动我的程序,它更整洁。

无论如何,尝试从我的程序的早期版本加载腌制文件失败了。我得到了“ImportError:没有名为工具的模块”——我猜这是因为我的模块以前在主文件夹中,现在它在 whyteboard.tools 中,而不仅仅是简单的工具。但是,在工具模块中导入的代码与其位于同一目录中,所以我怀疑是否需要指定一个包。

所以,我的程序目录看起来像这样:

whyteboard-0.39.4

-->whyteboard.py

-->README.txt

-->CHANGELOG.txt

---->whyteboard/

---->whyteboard/__init__.py

---->whyteboard/gui.py

---->whyteboard/tools.py

whyteboard.py 从 whyteboard/gui.py 启动一段代码,启动 GUI。在重新组织目录之前,绝对不会发生这种酸洗问题。

0 投票
5 回答
2912 浏览

python - 持久化 hashlib 状态

我想创建一个hashlib实例,update()然后以某种方式保持其状态。稍后,我想使用这个状态数据重新创建对象,并继续update()它。最后,我想获得hexdigest()数据的总累积运行。状态持久性必须在多次运行中存活下来。

例子:

编辑:

在 2010 年,我没有找到使用 python 执行此操作的好方法,并最终用 C 编写了一个小型辅助应用程序来完成此操作。但是,下面有一些很好的答案,当时我不知道或不知道。

0 投票
6 回答
43369 浏览

python - 使用 Pickle / cPickle 达到最大递归深度

背景:我正在使用最小构造算法构建一个表示字典的树。输入列表是 4.3M utf-8 字符串,按字典顺序排序。结果图是非循环的,最大深度为 638 个节点。我的脚本的第一行通过 .将递归限制设置为 1100 sys.setrecursionlimit()

问题:我希望能够将我的尝试序列化到磁盘,这样我就可以将它加载到内存中,而无需从头开始重建(大约 22 分钟)。我已经尝试了pickle.dump()cPickle.dump(),同时使用了文本和二进制协议。每次,我都会得到如下所示的堆栈跟踪:

我的数据结构比较简单: trie包含对开始状态的引用,并定义了一些方法。 dfa_state包含一个布尔字段、一个字符串字段和一个从标签到状态的字典映射。

我不太熟悉的内部工作原理pickle- 我的最大递归深度是否需要大于/等于某些 n 的特里深度的 n 倍?或者这可能是由我不知道的其他原因引起的?

更新: 将递归深度设置为 3000 并没有帮助,所以这条途径看起来并不乐观。

更新 2: 你们是对的;由于默认递归限制,我假设 pickle 将使用较小的嵌套深度是短视的。10,000 人成功了。

0 投票
2 回答
4520 浏览

python - 我怎样才能腌制泡沫结果?

为了避免在开发过程中重复访问 SOAP 服务器,我尝试缓存结果,这样我就可以运行其余代码,而无需每次都查询服务器。

使用下面的代码,PicklingError: Can't pickle <class suds.sudsobject.AdvertiserSearchResponse at 0x03424060>: it's not found as suds.sudsobject.AdvertiserSearchResponse当我尝试腌制泡沫结果时,我得到了一个结果。我猜这是因为类是动态创建的。

如果我-1从 中删除协议版本 pickle.dump(result, file, -1),我会得到一个不同的错误:

酸洗是正确的做法吗?我可以让它工作吗?有没有更好的办法?