How to get the home directory in Python?

Nathan Osman picture Nathan Osman · Oct 27, 2010 · Viewed 451.2k times · Source

I need to get the location of the home directory of the current logged-on user. Currently, I've been using the following on Linux:

os.getenv("HOME")

However, this does not work on Windows. What is the correct cross-platform way to do this?

Answer

dcolish picture dcolish · Oct 27, 2010

You want to use os.path.expanduser.
This will ensure it works on all platforms:

from os.path import expanduser
home = expanduser("~")

If you're on Python 3.5+ you can use pathlib.Path.home():

from pathlib import Path
home = str(Path.home())