def create(prefix, file_list, out_fn, out_folder=None, **kw):
    if (not out_folder):
        out_folder = _os.getcwd()
    if (file_list is None):
        file_list = _collect_paths(prefix)
    elif isinstance(file_list, _string_types):
        try:
            with open(file_list) as f:
                data = f.readlines()
            file_list = [_.strip() for _ in data]
        except:
            raise
    for ext in SUPPORTED_EXTENSIONS:
        if out_fn.endswith(ext):
            try:
                out = SUPPORTED_EXTENSIONS[ext].create(prefix, file_list, out_fn, out_folder, **kw)
            except:
                if _os.path.isfile(out):
                    _rm_rf(out)
    return out
def create(prefix, file_list, out_fn, out_folder=None, **kw):
    if (not out_folder):
        out_folder = _os.getcwd()
    if (file_list is None):
        file_list = _collect_paths(prefix)
    elif isinstance(file_list, _string_types):
        try:
            with open(file_list) as f:
                data = f.readlines()
            file_list = [_.strip() for _ in data]
        except:
            raise
    for ext in SUPPORTED_EXTENSIONS:
        if out_fn.endswith(ext):
            try:
                out = SUPPORTED_EXTENSIONS[ext].create(prefix, file_list, out_fn, out_folder, **kw)
            except:
                if _os.path.isfile(out):
                    _rm_rf(out)
    return out