zoukankan      html  css  js  c++  java
  • python 小程序 比较目录间的差异

    比较目录间的差异:

       I 只按照名称做了比较,如果目录的文件名称相同,但是内容不同脚本认为为相同文件

       II 针对目录下面的目录没有循环比较,只是比较了目录的名称

    import sys, os
    
    
    def difference(seq1, seq2):
        """
        返回仅在seq1中的项
        """
        return [item for item in seq1 if item not in seq2]
    
    def reportdiff(unique1, unique2, dir1, dir2):
        if not (unique1 or unique2):
            print("dir lists are identical")
        else:
            if unique1:
                print("file unique to", dir1)
                for item in unique1:
                    print('...', item)
            if unique2:
                print("file unique to", dir2)
                for item in unique2:
                    print("...", item)
    
    
    
    def compareDirs(dir1, dir2):
        print("comparing {0} to {1}".format(dir1, dir2))
        if not (os.path.isdir(dir1) and os.path.isdir(dir2)):
            return
        else:
            files1 = os.listdir(dir1)
            files2 = os.listdir(dir2)
            unique1 = difference(files1, files2)
            unique2 = difference(files2, files1)
            reportdiff(unique1, unique2, dir1, dir2)
    
    
    if __name__ == '__main__':
        compareDirs('../testdir', '../testdir1')
    

      

  • 相关阅读:
    World Cup
    Eva's Problem
    Number-guessing Game
    WisKey的眼神
    Vowel Counting
    The 3n + 1 problem
    超级楼梯
    母牛的故事
    素数回文
    画8
  • 原文地址:https://www.cnblogs.com/someoneHan/p/6258015.html
Copyright © 2011-2022 走看看