问题标签 [shelve]

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 投票
5 回答
673 浏览

version-control - Hg (Mercurial):有什么办法可以“搁置”工作副本供以后使用?

场景:在您最后一次提交之后,您决定对代码库进行一些广泛的重构。一段时间后,您意识到它花费的时间比预期的要长,您真的宁愿将重构推迟一次,并处理更紧迫的任务。但是您不想丢失迄今为止所做的所有重构工作。

那么,有没有办法“归档”或“分支”工作副本(本质上,将它放在一边,但将其保存在存储库中以供以后访问),然后恢复到最后一个好的提交并从那里恢复,而不用担心创建多个头还是将两者混淆?

0 投票
2 回答
2306 浏览

python - 在后台远程启动 Python 程序

我需要不时使用fabfile远程启动远程盒子中的一些程序,并得到结果。由于程序需要很长时间才能完成,我希望让它在后台运行,所以我不需要等待。所以我尝试了 os.fork() 让它工作。问题是,当我 ssh 到远程框,并在那里使用 os.fork() 运行程序时,程序可以在后台正常工作,但是当我尝试使用 fabfile 运行时,sudo 远程启动程序,os. fork() 不能工作,程序只是默默地死掉。所以我切换到 Python-daemon 来守护程序。很长一段时间,它工作得很好。但是现在当我开始让我的程序读取一些 Python 搁置字典时,python-daemon 不能再工作了。好像如果你使用 python-daemon,搁置的字典不能正确加载,我不知道为什么。

0 投票
2 回答
4639 浏览

eclipse - 如何在本地 mercurial 存储库中保留未提交的更改,同时仍然推/拉?

如果我正在处理一些我不想提交的文件,我只是保存它们。然后我有其他文件要推送到服务器,但是如果其他人对存储库进行了更改,并且我将它们拉下来,它会要求我合并或重新设置基址。但是这些选项中的任何一个都会导致我失去我的我尚未提交的本地更改

其他人正在做什么来解决这个问题?我发现搁置扩展的文档很难理解。

注意:我正在使用 Mercurial Eclipse 向/从服务器推送和拉取文件。

对此的任何解释将不胜感激!谢谢!


例子:

我正在使用 Mercurial Eclipse 开发我的网站。我有一个新文件夹和新文件,我还不想提交到服务器。我还修改了一些现有文件,我还不想让这些更改生效。

然后我的网站上的某些东西坏了,我需要修复它,它不会让我在不重新设置或与 repo 的最新提示合并的情况下修复它,这将导致我丢失所有未提交的更改。

如果我不想丢失新文件夹和已编辑的文件,我应该怎么做?重新克隆似乎很乏味。将文件复制到新文件夹似乎也很乏味。我确信 Shelving 或 MQ 会做我想做的事,我只是不知道该怎么做。

0 投票
1 回答
3834 浏览

python - 如何用现有字典填充书架

假设我有一个大的 100 兆字节的字典,我想把它做成一个磁盘搁架。我正在使用 pypar 来利用 MPI 生成主列表的清理位。实现这一目标的最佳方法是什么?例子:

0 投票
1 回答
2374 浏览

python - Python 3.1.1 中的搁置模块

我是 Python 新手,并通过 O'Reilly“学习 Python”系列进行学习。我被困在一个搁置的例子上,无法弄清楚为什么该程序不起作用。我正在尝试构建一些示例数据,然后将其加载到搁置文件中。奇怪的是,当我将它输入 IDLE shell 时它可以工作,但当我将它输入 .py 文件并尝试运行它时它就不行。这是我的代码:

同样,当我在 IDLE shell 上运行此代码时,我没有问题,但是当我从 .py 文件运行时,我收到以下错误:

回溯(最后一次调用):文件“Documents/Python_Learning/shelve.py”,第 7 行,在 import shelve 文件“Documents/Python_Learning/shelve.py”,第 9 行,在 db = shelve.open('persondb') AttributeError:“模块”对象没有属性“打开”

如果有帮助,这里是我在 Snow Leopard 上运行的 Python 版本的信息:

达尔文上的 Python 3.1.1 (r311:74543, Aug 24 2009, 18:44:04) [GCC 4.0.1 (Apple Inc. build 5493)]

感谢您对新手的帮助!

将要

0 投票
1 回答
3420 浏览

perforce - 如何在搁置的更改列表中签出 perforce 架子?

我有一个 CL 1000 的 perforce 架子。它被某个不知名的 CL X 的其他人搁置了。

我在 CL 2000。我想同步到任何 X 并且取消搁置 1000,因此我的代码与搁置时完全相同。我该怎么做呢?

0 投票
2 回答
1288 浏览

python - 向现有类添加函数的最简单方法

我正在使用 python 的内置搁置模块来管理一些简单的字典。我遇到的问题是我想使用with shelve.open(filename) as f:,但是当我尝试它时声称 DbfilenameShelf 没有属性__exit__

所以,我猜最简单的方法是将它包装在另一个类中__exit__并向该包装器添加一个函数。我试过这个:

但是当我尝试像这样实例化包装器时:wrapped = Wrapper(filename)它告诉我我给它一个无效的参数。

按要求报错:

0 投票
2 回答
2226 浏览

python - python shelve ... bsddb deprecated ... 如何让 shelve 使用另一个数据库?

我有一个在 OS X 上用 python 2.7.2 开发的应用程序。我使用模块搁置,似乎在 mac 上默认为 bsddb。该程序不会在装有 ActiveState python 2.7 的 Windows 7 机器上运行,因为模块 bsddb 不存在并且不在 ActiveState 的包管理器 (pypm) 中。ActiveState 的文档说在 v 2.6 中已弃用。我猜它会尝试 bdddb,因为创建 DB 的 OS X python 默认为 bsddb。当我删除搁置数据库并在 Windows 上运行它时,它愉快地使用了其他一些底层数据库。Mac的python也很开心。

所以我认为我应该强制使用非 bdsdb 后端进行搁置。就像 gdbm 模块一样。但我不知道该怎么做。

0 投票
2 回答
494 浏览

python - 控制搁置使用的内存

我在 Python 中使用搁置来处理一个不适合内存的巨大字典,以及实现持久性。

在运行我的代码时,需要频繁检索和插入字典中的随机位置,我注意到搁置只使用了 4GB 可用内存的大约 3%。这导致我的代码运行速度变慢,因为需要从磁盘进行更多的读/写。

有没有办法让搁置使用更多的可用内存(比如~50%),这样内存中的命中次数就更高了?

0 投票
2 回答
707 浏览

python - Python:使用 2 个 py 模块时搁置的属性错误

我正在尝试搁置模块,但遇到了一些麻烦。我的意图是让一个模块在第二个模块中调用一个函数,该函数将修改搁置中的文件。我制作了一个原型(如下),它只是尝试将变量设置为存储在搁架中的内容并打印该对象。

当我尝试这样做时,我收到以下属性错误:

我的猜测是它没有意识到我的“用户”类存在,但我不确定原因。File1 在它的 main 函数中调用与 File2 相同的函数,并且它在该实例中正常工作。我很感激这个问题的任何帮助,我对问题是什么感到困惑。



完整追溯: