问题标签 [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 投票
1 回答
3062 浏览

tfs - 在 TFS2010 中看到搁置的变化

我正在使用 TFS 2010。我必须在签入之前查看其他开发人员搁置的代码。我们如何在 TFS2010 中做到这一点,以便我可以得到他的更改和审查。谢谢!

0 投票
2 回答
4348 浏览

python - 并行更新python中的搁置字典

我有一个程序,它需要一个非常大的输入文件并从中制作一个字典。由于无法将其放入内存中,因此我决定使用搁置将其写入磁盘。现在我需要利用系统中可用的多个内核(其中 8 个),以便加快解析速度。我认为最明显的方法是将我的输入文件分成 8 个部分并同时在所有 8 个部分上运行代码。问题是我最后只需要一本字典。不是8个。那么如何使用搁置来并行更新一个字典呢?

0 投票
1 回答
304 浏览

python - Python 随着时间的推移失去了写入磁盘的性能

我编写了一个代码来从一个非常大的数据文件中获取输入,对其执行一些简单的处理,然后将其存储为搁置字典格式。我有 4100 万个条目要处理。但是,在我将 3500 万个条目写入搁置字典后,性能突然下降并最终完全停止。知道我能做些什么来避免这种情况吗?

我的数据在 twitter 上,它将用户屏幕名称映射到他们的 ID。像这样:

我需要非常快速地按名称访问其中的每一个。喜欢:当我给my_dict[Jack]它时返回12

0 投票
2 回答
105 浏览

python - 缓存耗时操作的结果

我有一个程序(PatchDock),它从参数文件中获取输入,并生成一个输出文件。运行这个程序很费时间,我想缓存过去运行的结果,这样我就不需要两次运行相同的参数。

我能够将输入和输出文件解析为适当的数据结构。例如,输入文件被解析为类似字典的对象。输入键都是字符串,值是原始数据类型(整数、字符串和浮点数)。

我的方法

我的第一个想法是使用输入文件的 md5 哈希作为shelve数据库中的键。但是,这无法捕获具有完全相同输入的缓存文件,但输入文件中存在一些细微差别(注释、间距、参数顺序等)。

散列解析的参数对我来说似乎是最好的方法。但我能想到的从字典中获取唯一哈希的唯一方法是对排序的字符串表示进行哈希处理。

问题

散列参数字典的字符串表示似乎是实现我的最终目标的一种迂回方式 - 将唯一输入值键入到指定输出。有没有更直接的方法来实现这个缓存系统?

理想情况下,我希望在 Python 中实现这一目标。

0 投票
1 回答
742 浏览

python - 在 python 2.6 中使用搁置模块时出现异常 RuntimeError

我正在使用搁置模块为我的程序添加一些持久性。起初我在搁置中使用默认的 bsddb,但我不得不将其更改为 gdbm,然后发生异常:

它似乎被一些 whichdb 调用在 anydbm 模块中引发(并捕获)。

它没有什么不好的,因为代码完成没有问题,但它看起来有点糟糕。据我所知,我可以使用警告模块来禁止打印,但是我想完全删除异常。

我正在查看其他地方的类似问题(它们出现在 pylint、django 和其他一些模块/包中),并且在任何地方似乎都被标记为“错误”。有没有人想出任何dbm / shelve模块中这种行为的解决方案?

编辑1。我发现导致此错误的原因是: def getattr (self, attr): return getattr(self.config, attr)

我正在尝试将包装另一个类的类保存到搁置中 - 这就是getattr函数被覆盖的原因。有没有办法写它而不是无限循环?

0 投票
2 回答
650 浏览

perforce - 如何在不从 perforce 的更改列表中删除它们的情况下恢复工作区中打开的文件?

是否有可能在 perforce(服务器版本 2010.1/265509 (2010/09/23),所以我没有更新的“git like”服务器功能)中恢复客户端中所有打开的文件而不从更改列表中删除文件他们属于?

默认情况下,如果我打开了一个文件并在更改列表中(非默认),并且我想快速“上下文切换”离开我当前的工作状态,看看别的东西,然后回到我之前的工作状态,我做这个:

  • 创建一个新的变更列表
  • 将文件添加到新的变更列表 C
  • 在更改列表中搁置文件 C
  • 还原所有打开的文件
  • 做东西
  • 还原所有打开的文件
  • 取消搁置变更列表 C -c C

在“做事”期间的中间阶段,p4 describe C 显示更改列表中没有文件。这令人不安和烦人,并且使跟踪 C 中的内容变得比应有的更难。

有没有办法“恢复所有打开的文件”,以便“p4 describe C”将所有文件保留在更改列表 C 中?

0 投票
3 回答
40663 浏览

tfs - 如何下载 TFS 搁置集

我需要从 TFS 下载一个搁置集到本地文件夹。Visual Studio 2010 是否有任何工具或插件可以下载搁置集

0 投票
2 回答
861 浏览

python - Python 和使用 shelve.py 冻结应用程序

我正在尝试冻结涉及使用搁置模块的应用程序。为了冻结它,我使用 GUI2EXE python 代码并利用 cx_freeze 部分(如果我删除搁置部分,一切都很好)。

当我去运行我编译的应用程序时,它抱怨

我四处寻找答案。他们中的大多数人说要将此添加到脚本中:

但是,这对我没有任何作用。如果我包含 dbhash 模块,则会收到与不存在 bsddb 模块相关的错误。我似乎无法解决这个问题。我是否错误地执行了上述操作?我错过了什么吗?

PS,我需要使用 cx_freeze - 其他(py2exe,pyinstaller)不能很好地与我程序的其他部分一起使用。另外,我真的很想使用 shelve——就像我说的,没有它,它可以编译并正常工作。

谢谢!

编辑

根据 Mike 的要求,我附上了安装脚本。是的,我尝试包含模块(未显示),但它不起作用。我什至在我的主脚本中包含了 anydbm 和 dbhash。这似乎也不起作用。

另外,如果您知道比搁置更好的方式来存储我的变量/列表/字典/等,我很想知道。我尝试了 ZODB(也没有构建好)。目前,我确实找到了 pdict(使用 PersistentDict),并且在我冻结应用程序时效果很好。但是,我发现搁置更快。如果可能的话,想搁置工作......

我的设置脚本:

0 投票
1 回答
809 浏览

version-control - 无法在 UI 中看到搁置的 Perforce 变更列表

我通常通过以下方式搁置我的 Perforce 更改列表:

  1. 右键单击挂起的更改列表。
  2. 点击搁置。
  3. 稍后通过右键单击搁置的更改列表并单击取消搁置来取消搁置。

但不是出于某种原因,我在 UI 中看不到这些选项。

所以,我从命令行搁置了我的变更列表,使用

p4 shelve -c '更改号码'

这对我有用,但问题是在 P4 GUI 中,它仍然显示为待处理的更改列表,而不是搁置的更改列表。

我该如何解决这个问题并让 UI 中的工作正常?

谢谢。

0 投票
1 回答
2911 浏览

python - 搁置,Python,更新字典

我正在使用 Python 中的 Shelve,但遇到了一个问题:

不明白为什么不更新?有什么想法吗?