Create file path from variables

Viewed 169489

I am looking for some advice as to the best way to generate a file path using variables, currently my code looks similar to the following:

path = /my/root/directory
for x in list_of_vars:
        if os.path.isdir(path + '/' + x):  # line A
            print(x + ' exists.')
        else:
            os.mkdir(path + '/' + x)       # line B
            print(x + ' created.')

For lines A and B as shown above, is there a better way to create a file path as this will become longer the deeper I delve into the directory tree?

I envisage an existing built-in method to be used as follows:

create_path(path, 'in', 'here')

producing a path of the form /my/root/directory/in/here

If there is no built in function I will just write myself one.

Thank you for any input.

4 Answers

You can also use an object-oriented path with pathlib (available as a standard library as of Python 3.4):

from pathlib import Path

start_path = Path('/my/root/directory')
final_path = start_path / 'in' / 'here'

Use the os.makedirs() function. There is a good write-up here.

Related