Отказ от ответственности: я не на windows
Суть в том, что вы должны использовать os.path.join()
для объединения путей.
Но, похоже, есть несколько проблем с этой строкой:
root_folder = 'C:/Users/Robert/Videos/YouTube/Playlists/$s'
Я думаю, что:
вам нужно использовать двойные экранированные отступы.
- Вы имели в виду
%s
вместо $s
.
- В любом случае в этом нет необходимости:
%s
, os.path.join()
- это кроссплатформенный путь для объединения путей.
- [опционально] Имхо задние шкуры более читабельны.
Так что я бы сказал, что вам нужно изменить эту строку на:
root_folder = 'C:/Users/Robert/Videos/YouTube/Playlists'
или
root_folder = 'C:\\Users\\Robert\\Videos\\YouTube\\Playlists'
или
root_folder = r'C:\Users\Robert\Videos\YouTube\Playlists'
А затем сделайте что-то вроде:
my_path = os.path.join(root_folder, p[0])
if not os.path.exists(my_path):
# ...
Примечание: от официального os.path.join()
документ :
Обратите внимание, что в Windows, поскольку для каждого диска имеется текущий каталог, os.path.join("c:", "foo")
представляет путь относительно текущего каталога на диске C:
(c:foo
), а не c:\foo
.
Судя по полезному Spencer Rathbun пример, на окнах вы должны получить:
>>> os.path.join('C', 'users')
'C\\users'
>>> os.path.join('C:','users')
'C:users'
Это означает, что вы должны использовать одно из следующих:
>>> os.path.join('C:/', 'users')
'C:\\users'
>>> os.path.join(r'C:\', 'users')
'C:\\users'