def dict_to_opt(dict_:dict, prefix:str='', blacklist:list[str] = []) -> str:
    """convert 'key:value' dict to 'key=value, ...' string

    if there is space in the value, it will automcatically add double quotes around it

    Args:
        dict_ (dict): dict to convert
        prefix (str): prefix put in the front of key
        blacklist (list, optional): if key in the blacklist, it won't convert it
    Returns:
        str: converted string
    """
    assert type(dict_) == dict, 'dict_ should be dict type'
    assert type(prefix) == str, 'prefix should be str type'
    assert type(blacklist) == list, 'blacklist should be list type'

    ret = ''
    for key in dict_.keys():
        
        if key in blacklist:
            continue
        
        
        if type(dict_[key]) == str and ' ' in dict_[key]:
            # if value is str type and there is space in the it, add double quotes around it
            opt = '%s%s "%s"' % (prefix, key, dict_[key])
        else:
            # else, let it be
            opt = '%s%s %s' % (prefix, key, dict_[key])
    
        # append to ret
        ret = ret + ' ' + opt
    
    return ret.strip()