gpt4 book ai didi

python filecmp.dircmp 忽略通配符

转载 作者:行者123 更新时间:2023-12-02 06:03:26 25 4
gpt4 key购买 nike

filecmp.dircmp 用于比较两个文件夹。它接受参数ignore,但它只进行精确匹配,而不进行通配符匹配。知道如何忽略模式吗?

最佳答案

您可以使用 glob https://docs.python.org/3/library/glob.html扩展模式并将扩展列表提供给忽略参数。

假设您有左侧文件夹和右侧文件夹,并且您想从比较中过滤掉所有 *.foo 和 *.bar,

import os
import glob
import filecmp

ignore_list = []
patterns_to_ignore = ['*.foo', '*.bar']
for pattern in patterns_to_ignore:
ignore_left = [os.path.split(expanded)[1] for expanded in glob.glob(os.path.join(left, pattern))]
ignore_right = [os.path.split(expanded)[1] for expanded in glob.glob(os.path.join(right, pattern))]
ignore_list.extend(ignore_left)
ignore_list.extend(ignore_right)


diff = filecmp.dircmp(left, right, ignore=ignore_list)

关于python filecmp.dircmp 忽略通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46281434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com