Getting the home directory in Python and a bug in os.path.expanduser

Edward Diener diener896092_no_spam_here at
Sun Jul 8 04:30:55 CEST 2007

Neil Hodgson wrote:
> Edward Diener:
>> Probably most reliable on Windows is a Windows API function, if it 
>> exists, for getting the home directory, as opposed to using 
>> environment variables, but I can not find any Windows API for it at 
>> present.
>    Look at SHGetFolderPath(CSIDL_PROFILE, ...) for Windows Me/2000 or 
> later. CSIDL_APPDATA is probably a better idea than CSIDL_PROFILE (its 
> equivalent to "%USERPROFILE%\Application Data" and roams) but 
> %USERPROFILE% (CSIDL_PROFILE) is compatible with previous Python behaviour.

Thanks, that looks good. For Windows Vista one should evidently use 
SHGetKnownFolderPath(FOLDERID_Profile,...) instead.

More information about the Python-list mailing list