#python #syntax
#python #синтаксис
Вопрос:
Я пытаюсь создать каталог, используя os.mkdir на python
Он отлично работает, когда путь D:screenshotsdata
os.mkdir("D:screenshotsdata")
но это выдает ошибку, когда путь D:screenshotssubs:air.com.freshplanet.games.MoviePop:moviepop.vip.1month
os.mkdir("D:screenshotssubs:air.com.freshplanet.games.MoviePop:moviepop.vip.1month")
[Error 123] The filename, directory name, or volume label syntax is incorrect: 'D:\screenshots\subs:air.com.freshplanet.games.MoviePop:moviepop.vip.1month'
Я не знаю, почему он выдает эту ошибку
Комментарии:
1. двоеточия не допускаются в именах файлов в Windows
2. спасибо @FranciscoCouzo, Теперь это работает.
3. @Francisco Couzo правильно. Кроме того, когда вы имеете дело с путями к файлам Windows, вы должны использовать r»C:mypathcontainingbackslashes » синтаксис, который позволит избежать интерпретации обратных косых черт как специальных символов.
Ответ №1:
Я столкнулся с аналогичной ошибкой при работе в jupyter notebook.аналогично OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect:
И я понял, что это двойная косая черта вместо одинарной. Я не знаю, почему я должен был указать двойную косую черту () вместо одинарной. Как бы то ни было, это решило мою проблему Еще до того, как за день я использовал ту же единственную косую черту () для изменения каталога. Пожалуйста, прокомментируйте, если кто-то знает об этом.
Комментарии:
1. Вам нужно использовать одинарные кавычки или необработанную строку, а не двойные кавычки
2. @cricket_007: Вы что-то путаете с синтаксисом кавычек оболочки? Одинарные и двойные кавычки выполняют тот же тип цитирования в Python.
3. @user235 они не совпадают для escape-символов
4. @cricket_007: Это звучит неправильно.
5. @cricket_007: Да, но это не из-за какой-либо разницы в обработке обратной косой черты. Вы не можете заканчивать строку, заключенную в одинарные или двойные кавычки, одной обратной косой чертой. Обратная косая черта в любом случае является экранирующими символами.