split() не работает корректно, в начал пути "/" , в а конце "\"
'C:/Users/dimaz/Untitled_Folder/mini4/data\2020-12-03\Alexey_Smirnov'.split('/')
['C:',
'Users',
'dimaz',
'Untitled_Folder',
'mini4',
'data\x820-12-03\\Alexey_Smirnov']
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
import re
re.split(r'[\\/]', r'C:/Users/dimaz/Untitled_Folder/mini4/data\2020-12-03\Alexey_Smirnov')
['C:',
'Users',
'dimaz',
'Untitled_Folder',
'mini4',
'data',
'2020-12-03',
'Alexey_Smirnov']
Автор решения: vp_arth
→ Ссылка
Для начала, нужно починить строковый литерал, чтобы исключить специальное значение обратных слешей. В представленной строке некоторые символы испорчены ещё до split().
Можно экранировать служебные символы, либо использовать «сырой» литерал:
r'C:/Users/dimaz/Untitled_Folder/mini4/data\2020-12-03\Alexey_Smirnov'
Далее, с путями ОС лучше работать не как со строкой, а как с путями ОС.
Например, можно воспользоваться модулем pathlib:
import pathlib
p = r'C:/Users/dimaz/Untitled_Folder/mini4/data\2020-12-03\Alexey_Smirnov'
pathlib.PureWindowsPath(p).parts
('C:\\', 'Users', 'dimaz', 'Untitled_Folder', 'mini4', 'data', '2020-12-03', 'Alexey_Smirnov')