Мне нужно извлечь имя родительского каталога по определенному пути. Вот как это выглядит:
c:\stuff\directory_i_need\subdir\file
Я изменяю содержимое «файла», используя в нем directory_i_need
имя, а не путь. Я создал функцию, которая выдаст мне список всех файлов, а затем ...
for path in file_list:
#directory_name = os.path.dirname(path) # this is not what I need, that's why it is commented
directories, files = path.split('\\')
line_replace_add_directory = line_replace + directories
# this is what I want to add in the text, with the directory name at the end
# of the line.
Как я могу это сделать?
Ответы:
И вы можете продолжать делать это столько раз, сколько необходимо ...
Изменить: из os.path , вы можете использовать os.path.split или os.path.basename:
источник
В Python 3.4 вы можете использовать модуль pathlib :
источник
Все, что вам нужно, это
parent
часть, если вы используетеpathlib
.Будет выводить:
Если вам нужны все части (уже описанные в других ответах), используйте
parts
:Тогда вы получите список:
Сохраняет тонус времени.
источник
Сначала посмотрите, есть ли у вас
splitunc()
доступная функция внутриos.path
. Первый возвращенный элемент должен быть тем, что вы хотите ... но я работаю в Linux, и у меня нет этой функции, когда я импортируюos
и пытаюсь использовать ее.В противном случае, один полугракий способ выполнить работу - использовать:
который показывает получение каталога чуть выше файла, а каталог чуть выше.
источник
Вот что я сделал, чтобы извлечь часть каталога:
Спасибо за помощь.
источник
Это также должно сделать свое дело.
источник
Вы должны поместить весь путь в качестве параметра в os.path.split. Смотрите документы . Это не работает как разделение строк.
источник