【问题标题】:Compare two source code files and report differences in python比较两个源代码文件并在python中报告差异
【发布时间】:2021-12-06 16:40:01
【问题描述】:

假设有两个用 Javascript 编写的源代码文件(file1.js 和 file2.js)。 我想使用 python 比较它们并找出在 file1 中找到的不同代码部分,这些部分在 file2 中不存在(基本上是在 file1 中找到的不同代码行)。

如何有效地做到这一点?

【问题讨论】:

标签: python file comparison difflib


【解决方案1】:
  1. 使用 difflib 库: Python 有一个专门用于比较文件之间差异的模块。要使用 difflib 库获取差异,我们必须调用 Unified_diff() 函数进行比较。

difflib 库中有一个类可用于比较名为 Differ 的文件之间的差异。

您可以尝试以上任何一种方法,我想两者都可以,只需先导入库,例如 from difflib import Differ

from difflib import Differ
  
with open('file1.txt') as file_1, open('file2.txt') as file_2:
    differ = Differ()
  
    for line in differ.compare(file_1.readlines(), file_2.readlines()):
        print(line)

【讨论】:

    【解决方案2】:

    在 bash 中,您可以使用两个文件作为命令行参数运行命令 diff,它会告诉您两者之间的区别。因此,请在终端中执行以下操作。

    diff fileOne.js fileTwo.js
    

    【讨论】:

    • 我实际上正在寻找一种在 python 中执行此操作的方法。有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 2020-10-03
    • 2014-06-08
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    相关资源
    最近更新 更多