У меня есть скрипт, который использует некоторые каталоги из своего домашнего каталога.Первым шагом является присвоение имен переменных этим каталогам с помощью os.path.join ().Однако, если каталог не существует, мне нужно его создать.Я не знаю заранее, какие каталоги существуют и не существуют.Я пришел к следующему решению:
homepath = os.path.abspath(os.path.dirname(sys.argv[0]))
def make_dir(var_name,dir_name):
var_name = os.path.join(homepath,dir_name)
if os.path.exists(var_name) == False:
os.mkdir(var_name)
return var_name
pathnames = ['bands','clipfiles','ndvi','ndmi','masked','clipped','upsampled','stats_csv']
path_to_bands = make_dir(path_to_bands, pathnames[0])
path_to_clipfiles = make_dir(path_to_clipfiles, pathnames[1])
path_to_ndvi = make_dir(path_to_ndvi, pathnames[2])
path_to_bands, path_to_clipfiles и т. Д. - это папки, которые я буду использовать позже в сценарии.Однако теперь мне нужна строка кода для каждого каталога, который я назначаю переменной.Есть ли способ превратить path_to_bands, path_to_clipfiles и т. Д. В список и перебрать его в несколько строк?На самом деле у меня много каталогов, и я не хочу, чтобы они без необходимости заполняли мой скрипт.
Спасибо!