电子商务网站模式,做网站一般图片的比例,wordpress建站说明,网络营销招聘岗位有哪些不同电脑上的同一部署文件#xff0c;由于更新频率不相同导致两边内容有差异#xff0c;需要比较两边的文件夹及文件差异。之前写过批量修改文件名的Python代码#xff0c;因此优先想用python处理。 百度“python 文件夹对比”#xff0c;不少文章都是自己实现的文件夹… 不同电脑上的同一部署文件由于更新频率不相同导致两边内容有差异需要比较两边的文件夹及文件差异。之前写过批量修改文件名的Python代码因此优先想用python处理。 百度“python 文件夹对比”不少文章都是自己实现的文件夹对比参考文献2-3也有介绍使用filecmp模块的dircmp类进行文件夹对比。本文学习调用dircmp进行文件夹比较的基本用法。 dircmp类使用比较简单创建dircmp类对象后直接调用对应属性获取关心的数据即可主要用到的属性或方法如下
序号属性或方法说明1common_dirs两个文件夹当前目录中的相同子目录集合与subdirs属性类似后者是将common_dirs中的名称映射到 dircmp 实例2diff_files两个文件夹当前目录中文件名相同但文件内容有差异的文件集合3left_only两个文件夹当前目录中仅存在于前者文件夹内的文件及子文件夹4right_only两个文件夹当前目录中仅存在于后者文件夹内的文件及子文件夹 基于参考文献1最下方的示例代码调整显示函数输出内容调整后的代码如下所示复制本地电脑中的python代码文件夹调整其中的文件内容用于文件夹对比测试
# codinggbkimport os
import filecmpdef print_diff_files(dcmp):for name in dcmp.left_only:print(左侧 %s 单独存在的文件或文件夹 %s % (dcmp.left,name))for name in dcmp.right_only:print(右侧 %s 单独存在的文件或文件夹 %s % (dcmp.right,name))for name in dcmp.diff_files:print(存在差异的文件 %s 位于 %s and %s % (name, dcmp.left,dcmp.right))for sub_dcmp in dcmp.subdirs.values():print_diff_files(sub_dcmp)dcmp filecmp.dircmp(E:\MyPrograms\Python, E:\MyPrograms\PythonTest)
print_diff_files(dcmp)print(done)程序运行效果如下所示 文件夹内容较少时使用上述方式够用如果文件夹内的文件及子文件夹数量成千上万个使用上述方式就不是很好看后续还会继续寻找更友好的显示方式。
参考文献 [1]https://docs.python.org/zh-cn/3.13/library/filecmp.html#filecmp.cmp [2]https://blog.csdn.net/qq_37021523/article/details/140109743 [3]https://blog.csdn.net/weixin_45726033/article/details/137751019