问题标签 [dbm]
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.
perl - DBM::无法解释的深层错误
所以我DBM::Deep
用来在不同的分叉进程之间共享数据。我像这样设置我的 DBM::Deep 对象:
但是当我运行我的脚本时,我似乎得到了这些错误:
所以除了最后一个错误之外的所有错误都与第 116 行有关,但奇怪的是第 116 行实际上与 DBM::Deep 无关:
所以我知道这没什么好做的,但是有没有人遇到这些错误或类似的错误?在如何使用 DBM::Deep 方面我有什么遗漏吗?谢谢!
perl - DBM::Deep 不使用 perl 哈希引用
我正在使用DBM::Deep哈希对象,如下所示:
但是,这不起作用。$dbm 在程序期间保存正确的值,但是在它退出后 dbm.db 是空的,当我启动另一个尝试使用 dbm.db 的程序时,里面什么都没有。但是每当我像这样复制哈希引用时(它是一个两级深度哈希):
然后它将正确复制所有内容,并且在程序执行后这些值仍然存在。DBM 作者似乎强调,尽管他的 DBM::Deep 对象就像常规哈希一样工作,所以有谁知道是否有更简单的方法来做到这一点?谢谢!
regex - 东京内阁和cygwin
我正在尝试在 Windows Cygwin 下安装Tokyo Cabinet但运行时./configure
出现以下错误:
python - 如何有效地在 Python 中清空 DBM 文件?
DBM 模块中有一个命令可以删除键中存储的值。
但是我什至无法使用此命令进行迭代,因为发生了运行时错误。(RuntimeError:迭代期间字典更改了大小。)
有没有一种有效的方法来一次清空 DMB 文件?我正在使用 Python 3.3
python - python中的搁置模块不起作用:“无法确定数据库类型”
我正在尝试用 Python 制作一个简单的密码存储程序,它看起来很简单,所以我想知道我是否使用搁置错误。
我有主要的 .py 文件:
另一个文件 passwords_dict.py 只是一个空字典。
但是当我尝试运行程序时,我得到了这个错误:
当我尝试改用 anydbm 时,我收到此错误:
当我尝试改用 dbm 时,我收到此错误:
我究竟做错了什么?是否有另一种存储字典的方法,并且仍然能够使用用户输入(而不是整个字典,我想这就是 pickle 所做的)来提取键?
shell - 使用 shell 脚本包装器将命令输入新的 shell
首先,我不知道我的标题措辞是否正确,但它就在这里。
我正在尝试按以下方式从 shell 脚本中输入命令:
但是,在Dbm2
运行命令后,当前的 shell 被 shell 替换Dbm2
,我不能再继续使用 shell 包装脚本。
手动,这将按以下方式完成:
这THE_TABLE
将从 Dbm2 中调出表。
如何通过将命令输入到从 shell 脚本生成的新 shell 中来使用 shell 包装脚本来替换此手动过程?
python - 与 anydbm 相比,带有 Python 的 sqlite 慢得不合理
我的目标是创建一个 MD5 哈希数据库,然后检查另一个哈希列表以查看它们是否存在于数据库中。
我有一个使用的工作解决方案anydbm
,如果您不熟悉,它的工作方式与 python 中的字典完全一样,但您不必一次将整个内容加载到内存中。数据库的创建速度相当慢(大约 2 个半小时内有 1 亿个条目),检索速度适中(1 到 2 秒内有 100000 个条目)。检查哈希是否存在就像if hash in dbm
.
为了提高性能,我尝试使用 sqlite 制作一个可行的解决方案。创建速度极快,在几分钟内创建了全部 1 亿个条目。但检索一个条目需要 15 秒以上。这是不合理的!
我不是 SQL 专业人士,所以我想知道我是否只是在使用过于复杂的命令。
它们如下:
表的创建:c.execute('''create table keys(id integer not null primary key autoincrement, hash text, alert text) ''')
添加条目(在循环中):c.execute('''insert into keys(hash, alert) values (?,?) ''', (hash, "1"))
检索(也循环):
python - 是否可以使用文件对象属性获取搁置数据库文件名?(Python)
我有一个 python3 脚本,它使用搁置模块创建多个数据库文件。仅供参考,搁置模块包装了dbm模块,如搁置源代码中所示。shelf.open() 方法用于在磁盘上创建数据库文件,并将所需的输出文件路径作为参数。但是,所创建文件的名称取决于用户系统上可用的 dbm 模块。这意味着该行为与平台无关,正如在 SO:here的其他地方所描述的那样。
我一直找不到一种简单的方法来收集文件名。我曾希望我可以访问文件名作为货架对象的属性,例如可以使用FileIO 类的 name 属性来完成。如何通过对象属性或方法获取架子对象的文件名?
如果做不到这一点,我可以求助于将一个自毁的临时文件对象传递给shelve.open () 调用。但是我不清楚如何做到这一点。请注意,此处已在 SO 上询问了临时架子问题……但如果用户在具有附加 fname 后缀的 dbm 模块的系统上,则提供的答案将不起作用。
感谢您的时间。
php - 用php读取perl平面文件db
我有一个旧的平面文件 perl db,它是我想迁移到新的 php 应用程序的电子商务网站的一部分。
是否可以使用 php 读取“表”文件没有文件扩展名,并且似乎不仅仅是 csv 或类似文件?