Getting the Appdata Directory with Python and PEP?

Eamonn Rea eamonnrea at
Mon Nov 25 21:48:49 CET 2013

I've heard that there is a library that allows you to get the appdata directory for a given OS, but I'd like to do it myself, as a learning experience.

Is there a built in way to get a users Appdata Directory? For example on OS X it's in '~/Library//Application Support/'. I can get the OS just fine (sys.platform and then storing it in my own way; example: darwin = OS X, just for my own readability), and I can get the home directory just fine (expanduser), but I have no idea how to get the appdata directory.

One way I could think of doing it would be to just detect the os and join the string on like so (completely untested, but an idea);

if os == 'OS X':
    appdata_dir = os.path.join(home_dir, '/Application Support/')

But then that arises the problem of cross platform compatibility.

So is here a good, cross platform solution to this problem?

Also, what is PEP, PEP8, etc? Is it like the Python programming layout conventions? Is there more to it than that?


More information about the Python-list mailing list