diff 相关问题

识别两个或多个文件之间差异的行为,以支持各种软件开发活动(错误跟踪,补丁创建......)

如何使用Python来比较两个HTML文件?

我想使用Python来比较两个HTML文件: 例子 : html_1 = """ 我喜欢它 ”“” html_2 =“”“ 我喜欢它 “&qu... 我想使用Python来比较两个HTML文件: 示例: html_1 = """ <p>i love it</p> """ html_2 = """ <h2>i love it </p> """ diff 文件将如下所示: diff_html = """ <del><p>i love it</p></dev><ins><h2>i love it</h2></ins> """ 有Python库可以帮助我做到这一点吗? lxml 可以做类似于你想要的事情。来自文档: >>> from lxml.html.diff import htmldiff >>> doc1 = '''<p>Here is some text.</p>''' >>> doc2 = '''<p>Here is <b>a lot</b> of <i>text</i>.</p>''' >>> print htmldiff(doc1, doc2) <p>Here is <ins><b>a lot</b> of <i>text</i>.</ins> <del>some text.</del> </p> 我不知道有任何其他 Python 库可以完成此特定任务,但您可能想查看逐字差异。他们可能会接近您想要的。 一个例子是 this,用 PHP 和 Python 实现(将其另存为 diff.py,然后是 import diff) >>> diff.htmlDiff(a,b) >>> '<del><p>i</del> <ins><h2>i</ins> love <del>it</p></del> <ins>it </p></ins>' Checkout diff2HtmlCompare(完全披露:我是作者)。如果您只是想直观地了解差异,那么这可能会对您有所帮助。如果您试图提取差异并用它做一些事情,那么您可以按照其他人的建议使用 difflib (上面的脚本只是包装 difflib 并使用 pygments 进行语法突出显示)。 Doug Hellmann 在详细介绍如何使用 difflib 方面做得非常好,我建议您查看他的教程。 我发现了两个有用的 Python 库: htmltreediff htmldiff 但是它们都使用Python的difflib lib来比较文本,而我想使用google的diff。 您可以使用 difflib.ndiff() 查找“-”/“+”并将其替换为您想要的 HTML。 import difflib html_1 = """ <p>i love it</p> """ html_2 = """ <h2>i love it </p> """ diff_html = "" theDiffs = difflib.ndiff(html_1.splitlines(), html_2.splitlines()) for eachDiff in theDiffs: if (eachDiff[0] == "-"): diff_html += "<del>%s</del>" % eachDiff[1:].strip() elif (eachDiff[0] == "+"): diff_html += "<ins>%s</ins>" % eachDiff[1:].strip() print diff_html 结果: <del><p>i love it</p></del><ins><h2>i love it </p></ins> AFAIK,Python 在 difflib 中有一个构建可以做到这一点。 不完全是你的输出,但是标准库difflib有一个简单的htmldiff工具,它将为你构建一个html diff表。 import difflib html_1 = """ <p>i love it</p> """ html_2 = """ <h2>i love it </p> """ htmldiff = difflib.HtmlDiff() html_table = htmldiff.make_table([html_1], [html_2]) # each item is a list of lines

回答 6 投票 0

从“git diff”中排除文件

我正在尝试从 Git diff 中排除文件 (db/irrelevant.php)。我尝试将一个名为 .gitattributes 的文件放入 db 子目录中,并使用 irrelevant.php -diff 行 我也尝试过

回答 15 投票 0

Monaco Diff Editor 是否能够输入 Diff 数据格式?

我指的是摩纳哥差异编辑器:只需向下滚动:https://microsoft.github.io/monaco-editor/index.html 如官方代码示例所示(https://github.com/microsoft/monaco-editor-

回答 1 投票 0

Git 分支之间某个文件夹的差异[重复]

如何获取主分支和我创建的分支之间某个文件夹的差异文件?

回答 2 投票 0

python diff SequenceMatcher - 修补列表

我修补一个列表,使其看起来像另一个: a = [x 代表“qabxcd”中的 x] b = [x 代表“abycdf”中的 x] c = a[:] s = SequenceMatcher(无, a, b) 对于 s.get_opcodes() 中的标签 i1、i2、j1、j2: print ("%7s a[%d:%...

回答 3 投票 0

如何显示公共线(反向差异)?

我有一系列文本文件,我想知道它们之间的共同行而不是不同的行。命令行 Unix 或 Windows 都可以。 文件foo: linux-vdso.so.1 ...

回答 8 投票 0

Github 可以显示*文件夹*内两个标签之间的差异吗?

假设我有一个 Github 项目:https://github.com/tom-lord/my_awesome_app (不是真正的链接😉) “主”应用程序的代码位于 app/ 文件夹中,并且还有 API 客户端定义...

回答 1 投票 0

更喜欢在 git diff 中显示仅添加或删除的行

举个例子,如果我们提交了以下(无意义的)代码: if (x.some_property) { 做事1(); dothing2(); } 我们在顶部添加一个条件分支并使现有代码成为...

回答 1 投票 0

JavaScript 比较两个 JSON 文件并仅输出新对象

我想比较两个JSON文件并根据它们的“Id”仅输出新添加的对象。我还需要忽略 JSON 文件中对象位置的变化(我不...

回答 3 投票 0

大型 JSON 数据的 JSON diff,找到某些 JSON 作为另一个 JSON 的子集

我有一个问题想要解决,而不需要花费大量的手动工作来分析作为替代方案。 我有 2 个 JSON 对象(从不同的 Web 服务 API 或 HTTP 响应返回)。有

回答 4 投票 0

Python 中的多级 JSON 差异

如果这个问题已经得到回答,请链接我来回答, 我的问题是我想获取无序的多级 json 的差异。 x=json.loads('''[{"y":2,"x":1},{"x":3,"y":4}]''') y=json.loads('...

回答 4 投票 0

如何合并多个补丁文件?

我们使用 subversion,在每次签入期间,脚本都会创建一个包含所有差异的补丁文件。现在,对于同一问题/缺陷,可能会进行多次签入,最终我们会得到多个补丁文件...

回答 2 投票 0

GIT 新建/修改/删除文件列表

有没有办法获取本地/远程存储库中所有新的/删除的/修改的目录/文件的列表,并在 Git 中相互关联?

回答 11 投票 0

Eugene W. Myers 的 diff 算法在 lcs(»xx«, »x«) 上失败?

我实现了两个 Myers 版本的 diff 算法,第一个是贪婪算法(它有效,但在内存消耗方面是高度资源密集型的 - 但 Myers 在他的论文中写道

回答 1 投票 0

`R CMD 检查 --as-cran` 在 Windows 上找不到 `diff`

我在 Windows 上检查我的包裹时收到以下注释: > R CMD 检查 --as-cran mypkg_0.1.tar.gz (...) * 检查从“mypkg-Ex.Rout”到“mypkg-Ex.Rout.save”的差异...好的 留言...

回答 1 投票 0

将补丁一分为二(最好是在 Vim 中)

我有一个补丁,我想将其分成两个补丁。我需要以每行粒度分割补丁——我不能只是将块分割成两个单独的文件。 我可以使用 Emacs diff mod...

回答 3 投票 0

区分日志文件的简单方法,忽略时间戳?

我需要比较两个日志文件,但忽略每行的时间戳部分(准确地说是前 12 个字符)。有没有一个好的工具,或者一个聪明的 awk 命令,可以帮助我?

回答 7 投票 0

如何在 VS Code 中最近打开的 CTRL + P(转到文件..)中隐藏项目文件夹之外的所有文件?

当我使用 vscode diff file1 ../other-project/file2 从命令行打开 VS Code Diff 时,然后按 CTRL + P,来自其他项目的差异文件会显示在我最近打开的文件中。 是...

回答 1 投票 0

如何在 VSCode 中通过 CTRL + P(转到文件..)隐藏项目文件夹之外的所有文件?

当我使用 vscode diff file1 ../other-project/file2 从命令行打开 VSCode Diff 时,然后按 CTRL + P,来自其他项目的差异文件会显示在我最近打开的文件中。 难道是……

回答 1 投票 0

独立合并/相当于 git diff --no-index 的 3 路

我们可以在没有 git repos 的情况下使用 git 的 diff 工具,使用 git diff --no-index 。 是否有一个类似的命令来运行 git 的合并算法给定三个输入文件(“我们的...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.