Skip to content Skip to sidebar Skip to footer

Create File Path From Variables

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_o

Solution 1:

Yes there is such a built-in function: os.path.join.

>>> import os.path
>>> os.path.join('/my/root/directory', 'in', 'here')
'/my/root/directory/in/here'

Solution 2:

You want the path.join() function from os.path.

>>>from os import path>>>path.join('foo', 'bar')
'foo/bar'

This builds your path with os.sep (instead of the less portable '/') and does it more efficiently (in general) than using +.

However, this won't actually create the path. For that, you have to do something like what you do in your question. You could write something like:

start_path = '/my/root/directory'
final_path = os.join(start_path, *list_of_vars)
ifnotos.path.isdir(final_path):
    os.makedirs (final_path)

Solution 3:

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'

Post a Comment for "Create File Path From Variables"