我有一个比较文件的小脚本
import filecmp
filecmp.cmp(path1, path2)
如果文件相似,此代码将返回True
但是如果换行符不同,它会返回False
。 path1
有Linux换行符,path2
有Windows换行符。
如果文件只与换行符不同,我想得到True
。
是否可以不编辑文件?
答案 0 :(得分:2)
这不可能与filecmp
模块一起使用,因为它只能使用stat
来比较文件,并且不允许您覆盖比较。
你可以用注意到的here:
对itertools做点什么from itertools import izip
def areFilesIdentical(filename1, filename2):
with open(filename1, "rtU") as a:
with open(filename2, "rtU") as b:
# Note that "all" and "izip" are lazy
# (will stop at the first line that's not identical)
return all(myprint() and lineA == lineB
for lineA, lineB in izip(a, b))
答案 1 :(得分:0)
您可以删除换行符的文件并将它们分配给变量,然后比较这些变量:
a = open('a.txt', 'r').read()
b = open('b.txt', 'r').read()
print(a==b)