Python 属性错误:';列表';对象没有属性';对称差分';初学者错误

Python 属性错误:';列表';对象没有属性';对称差分';初学者错误,python,csv,Python,Csv,我试图比较两个csv文件,找出它们之间的区别。它们应该具有相同的精确数据,但顺序可能不同 尝试将旧.csv与新.csv进行比较,查看新.csv中是否缺少任何行,或者新.csv中是否存在任何新行。每一行在两个csv中都应完全匹配 我尝试过这个,但它给我的错误是AttributeError:“list”对象没有属性“symmetric\u difference”。我在这里干什么 with open('old.csv', 'r') as t1, open('new.csv', 'r') as t2:

我试图比较两个
csv
文件,找出它们之间的区别。它们应该具有相同的精确数据,但顺序可能不同

尝试将
旧.csv
新.csv
进行比较,查看
新.csv
中是否缺少任何行,或者
新.csv
中是否存在任何新行。每一行在两个csv中都应完全匹配

我尝试过这个,但它给我的错误是
AttributeError:“list”对象没有属性“symmetric\u difference”
。我在这里干什么

with open('old.csv', 'r') as t1, open('new.csv', 'r') as t2:
    fileone = t1.readlines()
    filetwo = t2.readlines()

print(fileone.symmetric_difference(filetwo))
print(filetwo.symmetric_difference(fileone))
symmetric_difference()
是一个集合操作,但您试图在列表中使用它

fileone
filetwo
分成几组:

fileone = set(t1.readlines())
filetwo = set(t2.readlines())

是的,编译起来没有任何问题。非常感谢。当我运行脚本时,这两个打印行只是在控制台上打印
set()
。可以吗?还是我的打印线也弄乱了?基本上,我想打印这两个csv文件之间的任何差异(如果有),或者如果没有差异,只打印相同的内容。对称差异的好处是,如果需要不对称差异,它将是双向的(无需调用两次),然后只需减去它们,并为每个方向调用一次。如果在差异之后返回一个空集,则第一个集合的所有成员都包含在第二个集合中(返回的差异集合不包含任何差异)。