Create a new FileCollection, and select all files' that md5 is 
        matching.
        
        **中文文档**
        
        给定一个文件使用WinFile模块获得的md5值, 在list_of_dir中的文件里, 
        找到与之相同的文件。

def from_path_by_md5(md5_value, list_of_dir):
        """Create a new FileCollection, and select all files' that md5 is 
        matching.
        
        **中文文档**
        
        给定一个文件使用WinFile模块获得的md5值, 在list_of_dir中的文件里, 
        找到与之相同的文件。
        """       
        def filter(winfile):
            if winfile.md5 == md5_value:
                return True
            else:
                return False
        
        if not isinstance(list_of_dir, (list, set)):
            list_of_dir = [list_of_dir, ]        
            
        init_mode = WinFile.init_mode
        WinFile.use_slow_init()
        
        fc = FileCollection()
        for dir_path in list_of_dir:
            for winfile in FileCollection.from_path_by_criterion(
                    dir_path, filter, keepboth=False).iterfiles():
                fc.files.setdefault(winfile.abspath, winfile)
        
        if init_mode == 1:
            WinFile.use_fast_init()
        elif init_mode == 2:
            WinFile.use_regular_init()
        elif init_mode == 3:
            WinFile.use_slow_init()
                
        return fc