自动比较2个python代码

自动比较2个python代码,python,diff,Python,Diff,好的,我目前正在开发一个大型python 2.7代码库,我当前的任务如下: 有两个模块,比如A和B,它们有很多相似的代码,我的意思是几乎所有的方法都是相同的。我的目标是创建一个包含所有公共代码的基本模块 为此,我目前正在手动读取并比较A和B之间相同名称的函数,以查看它们是否相同或甚至完全相同 那么,有没有一种方法可以让这一切自动化呢?像diff这样的库,它是为了比较两个python函数代码而构建的,告诉我它们的内容是否相同/几乎相同 例如,我目前正在处理两个模块ResourceStatusDB.

好的,我目前正在开发一个大型python 2.7代码库,我当前的任务如下:

有两个模块,比如A和B,它们有很多相似的代码,我的意思是几乎所有的方法都是相同的。我的目标是创建一个包含所有公共代码的基本模块

为此,我目前正在手动读取并比较A和B之间相同名称的函数,以查看它们是否相同或甚至完全相同

那么,有没有一种方法可以让这一切自动化呢?像diff这样的库,它是为了比较两个python函数代码而构建的,告诉我它们的内容是否相同/几乎相同

例如,我目前正在处理两个模块ResourceStatusDB.py和ResourceStatusManagement.py:

ResourceStatusDB.py

和ResourceStatusManagement.py def selectself、表格、参数:

session = self.sessionMaker_o()
# finding the table
found = False
for ext in self.extensions:
  try:
    table_c = getattr(__import__(ext + __name__, globals(), locals(), [table]), table)
    found = True
    break
  except (ImportError, AttributeError):
    continue
# If not found in extensions, import it from DIRAC base (this same module).
if not found:
  table_c = getattr(__import__(__name__, globals(), locals(), [table]), table)
请注意,这两个函数并不完全相同。可能会有几行的差异。但大多数逻辑在功能级别上仍然是相同的。有没有办法检测到这个


在我看来,这个问题与python无关;P

记事本++有比较,如果你安装插件 您可以使用winmerge进行文件比较

Total commander也在同步文件夹中,具有可比较和修改的解除工具


我认为最好使用winmerge。

如果你使用*nix,你可以使用diff.share至少从2个模块中共享一些可比较的片段大多数高级文本编辑器都有比较功能,查看Notepad++for Instance或者将a加载到git repo中,然后用B代码更新,并使用git进行差异,有很多方法可以剥这只猫的皮。可能是重复的
session = self.sessionMaker_o()
# finding the table
found = False
for ext in self.extensions:
  try:
    table_c = getattr(__import__(ext + __name__, globals(), locals(), [table]), table)
    found = True
    break
  except (ImportError, AttributeError):
    continue
# If not found in extensions, import it from DIRAC base (this same module).
if not found:
  table_c = getattr(__import__(__name__, globals(), locals(), [table]), table)