为什么这段代码在我的机器上即使传递参数也会产生错误

问题描述 投票:0回答:1

生产错误:

类型错误:compare() 缺少 1 个必需的位置参数:'b'

比较两个文件的结果

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)
python-3.x text difference
1个回答
0
投票

您正在尝试直接调用

Differ.compare
,而不使用
Differ
的实例。这意味着
Differ.compare
是一个未绑定的方法,为此您必须 提供所有参数
(self, a, b)
。错误消息试图指出缺少第三个预期参数
b

要调用绑定到实例的

compare
,请按照 文档中的说明操作:

d = Differ()
d.compare(text1, text2)
© www.soinside.com 2019 - 2024. All rights reserved.