Exemplo n.º 1
0
def search_file_by_str2(rootdir, strs, obj_result, o_redis, str_id):
    for root, dirs, files in os.walk(rootdir, followlinks=True):
        #for i in range(0,len(dirs)):
        #    str_dir_temp = os.path.join(root, dirs[i]) + "\\"
        #    #str_dir_temp = root + dirs[i] + "\\"
        #    search_file_by_str2(str_dir_temp,strs,obj_result,o_redis,str_id)

        for i in range(0, len(files)):
            for j in range(0, len(strs)):
                if files[i].endswith(strs[j]):
                    p = FileInfo()
                    p.fileDir = root
                    p.fileRoot = p.fileDir.split('\\')[0]
                    p.fileName = files[i]
                    p.fileFullPath = os.path.join(root, files[i])
                    p.fileExtension = strs[j]
                    fi = os.stat(p.fileFullPath)
                    p.fileIndex = fi.st_ino
                    p.fileSize = int(fi.st_size) / 1024 / 1024 / 1024
                    p.fileRootID = str_id
                    #封装消息
                    obj_result.code = 1
                    obj_result.msg = json_dict_to_str(p.__dict__)
                    str_result = json_dict_to_str(obj_result.__dict__)
                    redis_public(o_redis, str_result)
Exemplo n.º 2
0
def get_my_files(rootdir, dirs, exts1, exts2, obj_result, o_redis, str_id):
    str_root = rootdir
    for str in os.listdir(str_root):
        str_path = (str_root + os.sep + str)
        if os.path.isdir(str_path):
            if str in dirs:
                p = FileInfo()
                p.fileDir = disk_info.getUpUpDirPath(str_path)
                p.fileRoot = disk_info.getRootDir(str_path)
                p.fileName = disk_info.getUpDir(str_path)
                p.fileFullPath = disk_info.getUpDirPath(str_path)
                p.fileExtension = "DIR"
                #由于是文件夹,所以没有判定文件序列、大小
                #fi = os.stat(p.fileFullPath)
                #p.fileIndex = fi.st_ino
                #p.fileSize = int(fi.st_size) /1024/1024/1024
                p.fileIndex = "1"
                p.fileSize = get_dir_file_size(p.fileFullPath)
                p.fileRootID = str_id
                #封装消息
                obj_result.code = 1
                obj_result.msg = json_dict_to_str(p.__dict__)
                str_result = json_dict_to_str(obj_result.__dict__)
                redis_public(o_redis, str_result)
                return
        elif os.path.isfile(str_path):
            str_path = str_path.lower()
            for ext1 in exts1:
                if str_path.endswith(ext1):
                    p = FileInfo()
                    p.fileDir = disk_info.getUpUpDirPath(str_path)
                    p.fileRoot = disk_info.getRootDir(str_path)
                    p.fileName = disk_info.getCurrentDir(str_path)
                    p.fileFullPath = disk_info.getUpDirPath(str_path)
                    p.fileExtension = ext1
                    #fi = os.stat(p.fileFullPath)
                    #p.fileIndex = fi.st_ino
                    #p.fileSize = int(fi.st_size) /1024/1024/1024
                    p.fileIndex = "1"
                    p.fileSize = get_dir_file_size(p.fileFullPath)
                    p.fileRootID = str_id
                    #封装消息
                    obj_result.code = 1
                    obj_result.msg = json_dict_to_str(p.__dict__)
                    str_result = json_dict_to_str(obj_result.__dict__)
                    redis_public(o_redis, str_result)
                    return

            for ext2 in exts2:
                if str_path.endswith(ext2):
                    p = FileInfo()
                    p.fileDir = disk_info.getUpDirPath(str_path)
                    p.fileRoot = disk_info.getRootDir(str_path)
                    p.fileName = str
                    p.fileFullPath = str_path
                    p.fileExtension = ext1
                    fi = os.stat(p.fileFullPath)
                    p.fileIndex = fi.st_ino
                    p.fileSize = int(fi.st_size) / 1024 / 1024 / 1024
                    p.fileRootID = str_id
                    #封装消息
                    obj_result.code = 1
                    obj_result.msg = json_dict_to_str(p.__dict__)
                    str_result = json_dict_to_str(obj_result.__dict__)
                    redis_public(o_redis, str_result)

        if os.path.isdir(str_path):
            get_my_files(str_path, dirs, exts1, exts2, obj_result, o_redis,
                         str_id)