Python: получить цепочку папок из пути - PullRequest
0 голосов
/ 19 июня 2020

У меня на входе следующий путь:

path = "D:\dataset\raw\2018\fk180731\tuna_sand\20180805_215810_ts_un6k\image\i20180805_215810"

, и я хочу создать такую ​​же цепочку папок в каталоге моего скрипта. Я хочу, чтобы новая цепочка папок начиналась с «сырой» папки. например:

D:\MY_SCRIPT_LOCATION\raw\2018\fk180731\tuna_sand\20180805_215810_ts_un6k\image\i20180805_215810

Я пробовал

head_tail = os.path.split(path)
print(head_tail[1])

Но это дает мне только имя последней папки. Есть идеи, как это сделать?

спасибо

Чтобы уточнить: я хочу, чтобы сценарий редактировал путь ввода и удалял все, что было до «сырого». Затем используйте текущий каталог сценария для создания цепочки папок, начиная с "raw"

Ответы [ 2 ]

0 голосов
/ 20 июня 2020

Вы можете попробовать что-то вроде этого:

import os
path='D:/dataset/raw/2018/fk180731/tuna_sand/20180805_215810_ts_un6k/image/i20180805_215810'
a=path.split('/')
a.pop(0)
a.pop(0)

new_path='D:/MY_SCRIPT_LOCATION/'+'/'.join(a)
os.makedirs(new_path)
print('success')
0 голосов
/ 19 июня 2020

Если вы просто хотите напечатать путь, используйте print(path.replace('dataset','MY_SCRIPT_LOCATION'))

Если вы хотите создавать папки в качестве нового пути, используйте следующий код:

import os
path = 'D:\\dataset\\raw\\2018\\fk180731\\tuna_sand\\20180805_215810_ts_un6k\\image\\i20180805_215810'
path = path.replace('dataset','MY_SCRIPT_LOCATION')
print(path)
try:
    os.makedirs(path)
except:
    print('Cannot create a file when that file already exists')
print('Done')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...