我正在编写一个 python 程序来备份一系列监视目录中的文件。我正在使用看门狗来检测文件系统的更改。所提供的只是已更改文件和文件夹的列表。
该应用程序可以选择包含和排除文件夹列表,但我无法弄清楚如何匹配路径以查看是否应该排除或包含它们。
问题是当您有一棵树并且用户选择包含一个位于排除的文件夹内的文件夹时。
示例文件树
/folder1/folder2/folder3/folder4/folder5
包括
/folder1
/folder1/folder2/folder3/folder4
排除在外
/folder1/folder2
我曾考虑使用startswith() 来比较看门狗返回的字符串的路径部分的开头,但随后/folder1/folder2/folder3/folder4/folder5
会匹配包含和排除文件夹列表。
如果有人可以提出解决此问题的最佳方法,我将不胜感激。如果我使用 os.walk 递归遍历目录,我可以让它轻松工作,但只是给出了一个我无法弄清楚如何去做的列表。它让我发疯。