问题标签 [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.
python - 如何在函数中访问 Aʟʟ 全局变量?
我正在尝试模仿matlab
加载和保存功能。我正在关注这个线程:搁置代码给出了 KeyError
它很聪明。但是,如果我在单独的模块中编写该代码,并尝试导入该模块并调用该函数,则它无法访问全局变量。
具体来说,我写了一个happy.py
并在里面有函数:
当我尝试
它不会给出保存a
和b
。
这是因为global()
不会给模块外的对象吗?那我该怎么做我想做的事呢?
tfs - TFS 搁置是与存储库版本相关的差异,还是它们是搁置的整个文件?
架子上的整个文件是否TFS
都已更改,或者架子与特定版本的存储库相比是否有差异?如果它是第一个,那么它可以随时应用于任何版本。如果是第二个,它只能应用于特定版本的 repo。
python - 为什么python中的搁置模块有时会创建具有不同扩展名的文件?
我正在运行一个 Python 程序,它shelve
使用pickle
. 运行这个程序后,有时我得到一个输出文件,a.data
但有时我得到三个输出文件a.data.bak
,a.data.dir
和a.data.dat
.
这是为什么?
python - 如何强制python使用dumbdbm模块创建新数据库?
该shelve
模块是在模块之上实现的anydbm
。该模块充当 4 种不同特定 DBM 实现的外观,它会在创建新数据库时选择第一个可用的模块,顺序如下:
dbhash (已弃用但仍是
anydbm
首选)。这是bsddb
模块的代理,.open()
真的bsddb.hashopen()
gdbm,用于 GNU DBM 库的 Python 模块,提供的功能比
dbm
与同一个库一起使用时模块所能提供的功能更多。dbm,一个使用
ndbm
BSD DB 和 GNU DBM 库(在编译 Python 时选择)的代理模块。dumbdbm,一个纯 python 实现。
但是在我的系统中,尽管dbhash
出于某种原因我希望它只使用dumbdbm
.
我怎样才能做到这一点?
python - python的搁置模块有最大尺寸吗?
我在尝试打开超过一定大小的搁置持久文件时遇到此异常,该大小实际上非常小(< 1MB),但我不确定确切的数字在哪里。现在,我知道 pickle 有点像 python 的混蛋,而 shelve 并不被认为是一个特别强大的解决方案,但它恰好很好地解决了我的问题(理论上),我一直无法找到原因这个例外。
我可以始终如一地重现它,但我在谷歌上找不到太多。这是一个将重现的脚本。
python - 搁置:不能腌制: 属性查找 builtins.method 失败
我正在使用搁置来存储一些数据。
我环顾四周,发现有关未绑定方法的内容可能会导致此问题,但我在代码中找不到问题。
问题出现在
player 是类实体:
这是类实体的代码:
在发布此内容之前,我尝试对 pudb 进行最后一次查看 - 而且我也遇到了错误
_
(在没有pudb的情况下运行代码时不显示)
这是世界:
这是类瓷砖:
最后,这是调用 shelve 的完整函数:
我相信这就是所有相关的代码。
是什么导致了这些错误?
python - python中的搁置模块不起作用:“无法确定数据库类型”
我正在尝试用 Python 制作一个简单的密码存储程序,它看起来很简单,所以我想知道我是否使用搁置错误。
我有主要的 .py 文件:
另一个文件 passwords_dict.py 只是一个空字典。
但是当我尝试运行程序时,我得到了这个错误:
当我尝试改用 anydbm 时,我收到此错误:
当我尝试改用 dbm 时,我收到此错误:
我究竟做错了什么?是否有另一种存储字典的方法,并且仍然能够使用用户输入(而不是整个字典,我想这就是 pickle 所做的)来提取键?
python - Shelve causes pygame fatal error?
I have made a simple racing game in python with pygame, easygui, and shelve. I finished the game and it worked great both from idle and from my .desktop file. After that i decided to attempt to add a highscore system. The system works great from idle, but from the .desktop file i get an error "fatal python error: (pygame parachute) segmentation fault." I would really like to leave the highscore system in the game so any help would be appreciated.`
`
python - 带有搁置的两个键的 Python 字典
我想使用搁置存储一个大字典。更具体地说,我所拥有的是一本字典,比如一个矩阵:
键的数量约为 5.000,这使得 5.000x5.000 个元素的矩阵无法存储在我的 4Gb 内存中。出于这个原因,我认为搁置可能是一个很好的解决方案。
尽管如此,我还没有找到任何关于如何有效地构建字典的文档。
到目前为止,我所做的是使用 shelve 创建一个包含常规字典的字典:
这行得通,但似乎应该有更好的方法来充分利用搁置。有任何想法吗?
python - python load from shelve - 我可以保留变量名吗?
我正在自学如何用 python 编写一个基本的游戏(基于文本 - 不使用 pygame)。(注意:我实际上并没有真正进入“游戏”部分,因为我想确保我首先弄清楚了基本的核心结构。)
我正试图弄清楚如何实现保存/加载场景,以便游戏会话可以在程序的信号运行之后持续存在。我做了一些搜索,一切似乎都指向酸洗或搁置是最好的解决方案。
我的测试场景是保存和加载一个类的单个实例。具体来说,我有一个名为 Characters() 的类,并且(为了测试)将该类的一个实例分配给一个名为 pc 的变量。Character 类的实例有一个名为 name 的属性,该属性最初设置为“DEFAULT”,但会在新游戏初始设置时根据用户输入进行更新。例如:
我还拥有(或将拥有)大量函数,这些函数使用分配给它们的变量来引用各种实例。例如,一个简单的例子可能是:
我计划有一个保存功能,它将用他们当前的信息(例如:更新的名称)打包 pc 实例(以及其他信息)。我还将有一个加载功能,允许用户玩一个保存的游戏而不是开始一个新游戏。根据我的阅读,负载可以像这样工作:
我的问题是,有没有办法让搁置加载“记住”与实例关联的变量名,并自动执行 << pc = mysave["pc"] >> 步骤?或者让我将该变量名称存储为字符串(例如作为键)并以某种方式使用该字符串创建具有正确名称(pc)的变量?
我将需要“保存”很多实例,并且可以通过循环自动执行该过程,但我不知道如何自动卸载到特定的变量名。我真的必须单独明确地重新分配每个人吗?我需要将实例分配回适当的变量名,因为我有一堆核心函数,它们使用变量名引用特定实例(如我上面给出的示例)。
想法?这是可能的,还是我没有看到完全不同的解决方案?
谢谢!
~肋骨