- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试从 .ldb 文件中提取数据。 Chrome 扩展 OneTab 在我身上出现故障,我正在尝试恢复它保存的链接。我相信我已经从一篇旧博客文章中找到了解决方案,但我对编码的了解还不够,无法弄清楚如何继续。
这是博文的链接: https://antimatter15.com/2015/12/recovering-deleted-data-from-leveldb/
我相信我已经按照他的建议正确地完成了所有构建 Go 应用程序的工作。它创建了一个没有文件扩展名的名为“ldbdump”的文件。下一步是我遇到麻烦的地方。我尝试在 Jupyter Notebook 中运行他的 Python 代码(这是我使用过的唯一一款 Python 软件,而且在这方面的经验有限),但只会出错。
我正在使用的原始代码可以在上面“恢复”标题下的链接中找到。我将“base”的定义从“test-stuff copy”更改为指向包含我尝试读取的 .ldb 文件和“ldbdump”文件的文件夹。出现错误后,我还更改了底部打印命令的语法。其他一切都保持不变。
base = "D:\\Downloads\\ldb archive"
import os
from subprocess import Popen, PIPE
import json
import ast
for f in os.listdir(base):
if f.endswith(".ldb"):
process = Popen(["ldbdump", os.path.join(base, f)], stdout=PIPE)
(output, err) = process.communicate()
exit_code = process.wait()
for line in (output.split("\n")[1:]):
if line.strip() == "": continue
parsed = ast.literal_eval("{" + line + "}")
key = parsed.keys()[0]
print(json.dumps({ "key": key.encode('string-escape'), "value": parsed[key] }))
如果我对博客文章的理解正确,这应该在将 .ldb 文件的内容转换为 JSON 文件后打印其内容(尽管我不确定该 JSON 文件将保存在何处)。之后,我可以继续下一步,清理结果以提高可读性。相反,我得到一个错误。我不知道我做错了什么,因为我一开始几乎不知道自己在做什么。我真正理解的是顶部的“找不到文件”。它看起来像这样:
FileNotFoundError Traceback (most recent call last)
<ipython-input-2-26ff29e32d63> in <module>
1 for f in os.listdir(base):
2 if f.endswith(".ldb"):
----> 3 process = Popen(["ldbdump", os.path.join(base, f)], stdout=PIPE)
4 (output, err) = process.communicate()
5 exit_code = process.wait()
~\Anaconda3\lib\subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text)
767 c2pread, c2pwrite,
768 errread, errwrite,
--> 769 restore_signals, start_new_session)
770 except:
771 # Cleanup if the child failed starting.
~\Anaconda3\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session)
1170 env,
1171 os.fspath(cwd) if cwd is not None else None,
-> 1172 startupinfo)
1173 finally:
1174 # Child is launched. Close the parent's copy of those pipe
FileNotFoundError: [WinError 2] The system cannot find the file specified
就像我说的,我不确定我做错了什么。我最好的猜测是我没有正确修改博客文章的代码以将其指向我 PC 上的文件,或者原始代码错误地假定了我机器的某些信息(这意味着我有错误的操作系统,我不应该运行它在笔记本中,我缺少一些依赖项等)
作为引用,我使用的是运行 Windows 10 的台式电脑,我正在尝试使用 Jupyter Notebook 5.7.4 运行此代码,除了部分中列出的包之外,我没有导入任何其他包上面的代码,我几乎不知道自己在做什么。对不起。请帮忙。
最佳答案
在我的研究中我添加了一些修复
import os
import subprocess
import json
import ast
for f in os.listdir(base):
if f.endswith(".ldb"):
process = subprocess.Popen(["ldbdump", os.path.join(base, f)], stdout=subprocess.PIPE, shell = True)
(output, err) = process.communicate()
exit_code = process.wait()
for line in (output.split("\n")[1:]):
if line.strip() == "": continue
parsed = ast.literal_eval("{" + line + "}")
key = parsed.keys()[0]
print json.dumps({ "key": key.encode('string-escape'), "value": parsed[key] })
关于python - 从 LevelDB ".ldb"文件恢复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57117973/
我有一个使用逻辑数据库 F1S 的程序。这意味着它可以使用名为 DBF1SSEL 的自动魔法包含。 因此,假设我有 2 个程序需要使用逻辑数据库 F1S。他们能有 2 个选择屏幕,还是都必须使用 DB
我有一个 API,可以打开一个 Access 数据库进行读写。 API 在构建连接时打开连接,在破坏连接时关闭连接。当数据库打开时,会创建一个 .ldb 文件,当它关闭时,它会被删除(或消失)。 有多
这段代码让我从 SLIME 进入 SBCL 中的 LDB,但不是终端: (declaim (optimize debug)) ;; inhibit tail-call optimization (de
我正在尝试从 .ldb 文件中提取数据。 Chrome 扩展 OneTab 在我身上出现故障,我正在尝试恢复它保存的链接。我相信我已经从一篇旧博客文章中找到了解决方案,但我对编码的了解还不够,无法弄清
我正在尝试创建一个批处理文件来读取 Microsoft Access .ldb 锁定文件。锁定文件包含计算机名称和用户名的列表。我想提取计算机名称并最终根据外部命令运行它们。 批处理文件的格式是单行(
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
向数据库专家提问。请参阅从 Excel 调用的以下代码 (VBA/ADO): Dim DBPath As String, ConnStr As String DBPath = ThisWorkbook
按照 L1 范数近似给出的例子 here ,使用以下代码, from l1 import l1 from cvxopt import normal m, n = 500, 100 P, q = nor
对不起,文字太长了。 问题:我很难在下面的代码段中删除由 ADOX 的“CREATE”方法生成的 LDB。请提供一些解决方案的提示/指针,谢谢。 目标:创建(即时)一个新的 Access 数据库,然后
我有一个 ASP.NET 项目。我正在连接到数据库,然后关闭并处理连接对象。但是当有人进入我的站点时,MS Access 会创建一个临时的 dbname.ldb。当我想从服务器下载原始 mdb 文件时
我有一个使用 MS Access 数据库的 C# 程序,我正在使用 OleDb 连接该数据库并对其进行查询。我的问题是我在数据库中有一些敏感信息,我不希望它显示为 Access 数据库。我更改了扩展名
我刚刚从源代码编译了 samba 4.5.4,但在域配置期间出现错误。在此之前,我尝试从 sernet-samba 包安装 samba,但配置结果是一样的......我在域配置期间遇到以下错误:
我是一名优秀的程序员,十分优秀!