Question

How can I create a file in python one directory up, without using the full path?

I would like a way that worked both for windows and linux.

Thanks.

Was it helpful?

Solution

Use os.pardir (which is probably always "..")

import os
fobj = open(os.path.join(os.pardir, "filename"), "w")

OTHER TIPS

People don't seem to realize this, but Python is happy to accept forward slash even on Windows. This works fine on all platforms:

fobj = open("../filename", "w")

Depends whether you are working in a unix or windows environment.

On windows:

..\foo.txt

On unix like OS:

../foo.txt

you need to make sure the os sets the current path correctly when your application launches. Take the appropriate path and simply create a file there.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top