首页 > 其他 > 详细

609. 在系统中查找重复文件

时间:2020-11-23 17:01:49      阅读:25      评论:0      收藏:0      [点我收藏+]

技术分享图片
技术分享图片
技术分享图片

代码思路:用文件内容作key域,value域需要拼接,是文件全名。

import re
class Solution(object):
    def findDuplicate(self, paths):
        """
        :type paths: List[str]
        :rtype: List[List[str]]
        """
        mydict = {}
        for item in paths:
            temp = item.split()
            # 获取当前路径
            path = temp[0]
            # 获取当前路径下的所有文件
            files = temp[1:]
            # 遍历每一个文件,取文件内容作为key,往mydict里存
            for file in files:
                # 用正则表达式获取文件内容
                fileContextList = re.findall(r‘[(](.*?)[)]‘, file)
                fileContextStr = ‘‘.join(fileContextList)
                extraSize = len(fileContextStr) + 2
                fileName = list(file)[:-extraSize]
                if fileContextStr in mydict.keys():
                    mydict[fileContextStr].append(path + "/" + ‘‘.join(fileName))
                else:
                    mydict[fileContextStr] = [path + "/" + ‘‘.join(fileName)]
        res = []
        for item in mydict.values():
            if len(item) > 1:
                res.append(item)
        return res

609. 在系统中查找重复文件

原文:https://www.cnblogs.com/panweiwei/p/14024900.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!