Trouble getting to windows My Documents directory

MRAB python at
Fri Jul 10 17:12:17 CEST 2015

On 2015-07-10 15:27, Mark Storkamp via Python-list wrote:
> I'm just learning Python, and I've run into trouble trying to change
> directory to the windows My Documents directory. There's likely a better
> way to do this, but this is what I've tried so far:
> ---------------------------------------------
> from tkinter import Tk
> from tkinter.filedialog import askopenfilename
> import os
> Tk().withdraw()
> sourcedir = os.environ['HOME']+"/Documents/"
> os.chdir(sourcedir)
> src = askopenfilename()
> if src == '' :
>      sys.exit()
> fin = open(src, mode='r')
> ## do stuff
> fin.close()
> -----------------------------------------------
> When this is run from IDLE, it works fine. But when I double click on
> the saved file to run it, it quits without ever showing the open file
> dialog box, and doesn't show any error message.
> The problem is with the os.environ['HOME'] call. If I comment it out
> (and fix up the surrounding code with an absolute path) then it runs.
> But then it won't work properly for other users.
> Interestingly enough, when I moved this to a Mac so I could post to
> Usenet, I discovered it works fine on the Mac. Only Windows seems to be
> the problem. Windows 7.
> Any thoughts or suggestions?
Try os.path.expanduser(r'~\Documents').

It's a bad idea to use os.chdir; it's better to use absolute paths:

src = askopenfilename(initialdir=os.path.expanduser(r'~\Documents'))

More information about the Python-list mailing list