问题标签 [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.
python - 如何使用“泡菜”
我的代码(我无法使用“泡菜”):
打印 :
谁能告诉我怎么用。
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)
python - 将Python字典存储在磁盘上的有效方法?
在磁盘上存储 Python 字典的最有效方法是什么?我现在知道的唯一方法是纯文本和pickle
模块。
编辑:对不起,不是很清楚。高效是指最快的执行速度。字典将包含可变对象,这些对象将保存要解析和修改的信息。
python - 使用pickle将巨大的二元字典保存到文件
我的一个朋友写了这个小程序。大小为textFile
1.2GB(价值 7 年的报纸)。他成功地创建了字典,但他无法使用 pickle 将其写入文件(程序挂起)。
提前致谢。
对任何感兴趣的人进行编辑
,我将简要解释该程序的作用。假设您的文件格式大致如下:
<s>
是句子分隔符。- 每行一个字。
生成一个 biGramDictionary 供以后使用。
像这样的东西:
希望这可以帮助。现在策略改为使用 mysql 因为 sqlite 不起作用(可能是因为大小)
ruby - 关于黄瓜/泡菜的问题
我正在尝试更熟悉 Rails / ActiveRecord。在尝试这样做时,我试图使用 Cucumber 来帮助进行一些“发现”测试。
我有以下
编辑
我没有自定义步骤 - 尝试使用开箱即用的黄瓜和泡菜(只是为了限制我的困惑)。
模型是
和
谁能指出我正确的方向(或者如果我需要发布更多代码)?
谢谢,
乔
cucumber - 尚未提及访问相关模型
我有一个引用公司的用户工厂
公司用户众多。现在我希望公司有很多客户。无需提及公司,只需检查一旦创建客户,它就属于公司。
最后一句话是我关心的。我如何告诉 Pickle 我登录的用户在工厂有一个与之关联的公司模型,因此请检查该公司以查看现在是否有与之关联的客户。
谢谢
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。在重新组织目录之前,绝对不会发生这种酸洗问题。
python - 持久化 hashlib 状态
我想创建一个hashlib
实例,update()
然后以某种方式保持其状态。稍后,我想使用这个状态数据重新创建对象,并继续update()
它。最后,我想获得hexdigest()
数据的总累积运行。状态持久性必须在多次运行中存活下来。
例子:
编辑:
在 2010 年,我没有找到使用 python 执行此操作的好方法,并最终用 C 编写了一个小型辅助应用程序来完成此操作。但是,下面有一些很好的答案,当时我不知道或不知道。
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 人成功了。
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)
,我会得到一个不同的错误:
酸洗是正确的做法吗?我可以让它工作吗?有没有更好的办法?