(csidl_name)
return directory
This is a fallback technique at best. I'm not sure if using the
    registry for this guarantees us the correct answer for all CSIDL_*
    names.
This is a fallback technique at best. I'm not sure if using the
    registry for this guarantees us the correct answer for all CSIDL_*
    names.
This is a fallback technique at best . I m not sure if using the registry for this guarantees us the correct answer for all CSIDL_ * names .
def _get_win_folder_from_registry(csidl_name):
    # type: (str) -> str
    """
    This is a fallback technique at best. I'm not sure if using the
    registry for this guarantees us the correct answer for all CSIDL_*
    names.
    """
    import _winreg

    shell_folder_name = {
        "CSIDL_APPDATA": "AppData",
        "CSIDL_COMMON_APPDATA": "Common AppData",
        "CSIDL_LOCAL_APPDATA": "Local AppData",
    }[csidl_name]

    key = _winreg.OpenKey(
        _winreg.HKEY_CURRENT_USER,
        r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
    )
    directory, _type = _winreg.QueryValueEx(key, shell_folder_name)
    return directory
def _get_win_folder_from_registry ( csidl_name ) : # type: (str) -> str import _winreg shell_folder_name = { "CSIDL_APPDATA" : "AppData" , "CSIDL_COMMON_APPDATA" : "Common AppData" , "CSIDL_LOCAL_APPDATA" : "Local AppData" , } [ csidl_name ] key = _winreg . OpenKey ( _winreg . HKEY_CURRENT_USER , r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" ) directory , _type = _winreg . QueryValueEx ( key , shell_folder_name ) return directory