首页 > 编程语言 >python 递归比较两个文件夹

python 递归比较两个文件夹

时间:2024-03-12 15:26:06浏览次数:34  
标签:folder2 folder1 递归 python 文件夹 common file print path

  以下

import filecmp, os

def compare_folders(folder1, folder2):
    dcmp = filecmp.dircmp(folder1, folder2)
    for name in dcmp.left_only:
        print(f"{folder1}单独存在的文件: {name}")
    for name in dcmp.right_only:
        print(f"{folder2}单独存在的文件: {name}")
    for common_file in dcmp.common_files:
        file1_path = f"{folder1}/{common_file}"
        file2_path = f"{folder2}/{common_file}"
        with open(file1_path, 'r') as file1, open(file2_path, 'r') as file2:
            content1 = file1.read()
            content2 = file2.read()
            if content1 != content2:
                fn1 = os.path.join(folder1, common_file)
                fn2 = os.path.join(folder2, common_file)
                print('不同:')
                print(fn1)
                print(fn2)

    # 递归比较子文件夹
    for common_dir in dcmp.common_dirs:
        d1 = os.path.join(folder1, common_dir)
        d2 = os.path.join(folder2, common_dir)
        if compare_folders(d1, d2):
            print()

folder1 = "file1"
folder2 = "file2"
compare_folders(folder1, folder2)

 

标签:folder2,folder1,递归,python,文件夹,common,file,print,path
From: https://www.cnblogs.com/qizhou/p/18068360

相关文章

  • Python函数每日一讲 - id()
    引言几天不见,今天我们来看看一个比较特别的函数id(),这个函数就是用来获取对象在内存中的唯一标识符的函数。语句概览id()函数是Python内置函数之一,用于获取对象在内存中的唯一标识符。其语法格式如下:id(object)其中,object参数是要获取标识符的对象。函数实例例1:获取整数......
  • macOS 下使用 pyenv 安装 python 2.n.p 报错,ERROR: The Python zlib extension was no
    TL;DR执行brewinstallzlib安装zlib之后,根据安装信息提示将一下三行变量exportLDFLAGS="-L/opt/homebrew/opt/zlib/lib"exportCPPFLAGS="-I/opt/homebrew/opt/zlib/include"exportPKG_CONFIG_PATH="/opt/homebrew/opt/zlib/lib/pkgconfig"加入到~/.zsh......
  • Ubuntu 与Windows 之间搭建共享文件夹
    工作中经常需要搭建Linux环境用于测试以及其他开发需求,办公电脑通常是Windows系统,为便于让文件在两个系统之间传输,可以采取共享文件的方式实现;1、安装samba服务;sudoaptupdatesudoaptinstallsamba2、创建共享文件夹:mkdir  /path/shared-foldersu......
  • python得scrapy提取数据 xpath注意事项
    在提取器过滤数据这个地方被坑了很久,确实有点坑,有点难以理解,多注意下就可以了。frommultiprocessingimportallow_connection_picklingfromscrapy.spidersimportSpiderfrom..itemsimportCnblogshaha01ItemclasscnblogSpider(Spider):name="cnblogsHAHA01"#定......
  • Python 列表中任意字符串是否存在的判断
    `importsysjudge_string=[]target_string=sys.argvjudge_string=['-?','/?','--?','-help','--help','help']target_string=sys.argvjudge_result=any(wordifwordintarget_stringelseFals......
  • VUE后台获取数据,并将数据递归为树接口所需数据形式
    后台获取数据形式(parentID=0的是父级,parentID不为0的,如果parentID与某个对象中的id相等,则表示为该对象的子级。) 代码转换:<script>varroomMenuDataL;//后台获取的教室数据methods:{//获取教室树getroommenu(){consttoken=this.$cookieTools.getTo......
  • Python - whl文件是什么?怎么安装?
    whl文件是什么?.whl文件是Python分发的一种标准内置包格式,通常称为“轮子(wheel)”。123这种格式允许Python用户安装和分发第三方库,.whl文件包含了Python模块的压缩形式(.py文件和经过编译的.pyd文件)以及这些模块的元数据。它们通常通过Zip压缩算法进行压缩,可以......
  • 基于WiFi的防盗报警Python脚本
    学校图书馆有一本电子书,可以供学生阅读,但是怎么防止学生将其带出图书馆呢?我把它连上馆内的一台电脑的WiFi热点,间隔一段时间就从电脑ping这台电子书,如果ping不通,说明电子书脱离了WiFi信号范围,电脑就会响起报警声。代码思路如下,先通过Windows上的arp命令,用设备的MAC地址获取其IP,再......
  • 用Python编写自己的微型Redis
    building-a-simple-redis-server-with-python前几天我想到,写一个简单的东西会很整洁 雷迪斯-像数据库服务器。虽然我有很多WSGI应用程序的经验,数据库服务器展示了一种新颖挑战,并被证明是学习如何工作的不错的实际方法Python中的套接字。在这篇文章中,我将分享我在此过程中......
  • python得scrapy抓中文,保存csv、json、txt文件乱码解决方法
    保存json和txt文件,出现这种东西不是乱码,是unicode,例如:\u96a8\u6642\u66f4\u65b0>\u25a0\u25a0\u25a在settings.py文件中加入下面一句code,之后就是中文了。FEED_EXPORT_ENCODING='utf-8'保存csv表格文件时,会出现中文乱码,这个确实是乱码,例如:瀵掑啲瀹濈彔鎶......