D4rkM4sterBR
D4rkM4sterBR

Reputation: 29

Making a directory for a file

I was making a exercise generator algorithm for my friend, but I stumbled across a problem. It is a python program, and I wanted to generate a folder in a directory that was above the program's location (like, the python file is in 'C:\Documents\foo' and the folder should be created in 'C:\Documents') so that it could then store the file the program created. Is there a way to do this or should I try something else?

Upvotes: 0

Views: 100

Answers (3)

Appears to work on Win 7 with Python 2.7.8 as described:

import os.path

createDir = '\\'.join((os.path.abspath(os.path.join(os.getcwd(), os.pardir)), 'Foo'))

if not os.path.exists(createDir):
    os.makedirs(createDir)

Upvotes: 0

Malcolm
Malcolm

Reputation: 301

Use the path argument of the os.mkdir() function.

Getting the current script directory is not a built-in feature, but there are multiple hacks suggested here.

Once you get the current script directory, you can build a path based off of that.

Upvotes: 2

PistolPete
PistolPete

Reputation: 46

Not super familiar with Python in a Windows environment, but this should be easily do-able. Here is a similar question that might be worth looking at: How to check if a directory exists and create it if necessary?

Looks like the pathlib module might do what you are looking for.

from pathlib import Path
path = Path("/my/directory/filename.txt")
try:
    if not path.parent.exists():
        path.parent.mkdir(parents=True)
except OSError:
    # handle error; you can also catch specific errors like
    # FileExistsError and so on.

Upvotes: 0

Related Questions