zoukankan      html  css  js  c++  java
  • python 文件夹比较

    参考:http://blog.csdn.net/imzoer/article/details/8675078

    文件比较:filecmp模块:filecmp

    '''
    Created on 2014-6-6
    @author: jyp
    @module: pro1.filecmp_test}
    '''

    import time
    import os
    from site import setBEGINLIBPATH

    def getPrettyTime(state):  
        return time.strftime('%y-%m-%d %H:%M:%S', time.localtime(state.st_mtime))

    def compareDir(A_path, B_path):
        A_files = []
        B_files = []
        for root, dirs, files in os.walk(A_path):
            for file in files:
                A_files.append(root + "\" + file)
        for root, dirs, files in os.walk(B_path):
            for file in files:
                B_files.append(root + "\" + file)
        a_files = []
        b_files = []
        a_path_len = len(A_path)
        b_path_len = len(B_path)
        
        for file in A_files:
            a_files.append(file[a_path_len:])
        for file in B_files:
            b_files.append(file[b_path_len:])
        setA = set(a_files)
        setB = set(b_files)
        commonfiles = setA & setB
        print "#================================="  
        print "common in '", A_path, "' and '", B_path, "'"  
        print "#================================="  
        print ' a: b:'  
        for f in sorted(commonfiles):  
            print f + " " + getPrettyTime(os.stat(A_path + "\" + f)) + " " + getPrettyTime(os.stat(B_path + "\" + f))
                
        onlyA = setA - setB
        print "#================================="  
        print "only in A '", A_path
        print "#================================="  
        print ' a: b:'  
        for f in sorted(onlyA):  
            print f + " " + getPrettyTime(os.stat(A_path + "\" + f))
        onlyB = setB - setA
        print "#================================="  
        print "only in B'" , B_path
        print "#================================="  
        print ' a: b:'  
        for f in sorted(onlyB):  
            print f + " " + getPrettyTime(os.stat(B_path + "\" + f))
    if __name__ == '__main__':
        compareDir('f:/srcDir', 'f:/destDir')
       

  • 相关阅读:
    [推荐]大量 Blazor 学习资源(二)
    [翻译]欢迎使用C#9.0
    重磅消息:微软发布多平台应用UI框架 MAUI,网友直呼:牛x
    如何对Git的分支进行管理
    如何使用JPA的@Formula注解
    伤其十指,不如断其一指,谈谈我的学习计划
    如何使用Swagger-UI在线生成漂亮的接口文档
    如何在Linux服务器上部署jar包
    使用PageHelper插件分页时,如何对对象进行转换以及添加属性
    在Java中使用Collections.sort 依据多个字段排序
  • 原文地址:https://www.cnblogs.com/yongpan666/p/3773712.html
Copyright © 2011-2022 走看看