python - 如何使用 python filecmp 忽略不同的换行符

标签 python python-2.7

我有一个比较文件的小脚本

import filecmp
filecmp.cmp(path1, path2)  

如果文件相似,此代码返回True 但如果换行符不同,它会返回Falsepath1 有 Linux 换行符,path2 有 Windows 换行符。 如果文件仅与换行符不同,我希望得到 True 。 是否可以不编辑文件?

最佳答案

使用 filecmp 模块无法做到这一点,因为它只能使用 stat 来比较文件,并且不会让您覆盖比较。

您可以使用 itertools 做一些事情,如 here 所示。 :

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))

关于python - 如何使用 python filecmp 忽略不同的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42981652/

相关文章:

python - 我想在 python 中使用 matplotlib 绘制泰勒级数图

python - Python中排列的递归实现

python - 除了自变量之外,如何为 scipy.optimize.minimize 的目标函数提供额外的输入

python-2.7 - 如果使用 opencv 调整大小方法,pytorch 数据加载器会卡住

linux - 当我运行 cqlsh 命令时,Python Cassandra 驱动程序未安装或未安装在 PYTHONPATH 上

python - Pandas:以 pythonic 方式拆分字符串

python - Gitlab runner Docker 执行器不连接到 postgres 服务

python - Django ModelForm的插入表单也显示已有记录

python-2.7 - 无法向 Kafka 发送大消息

python - 尝试 fsync 目录时出错