Например, как лучше всего представить каталог Windows "C:\meshes\as"
? Я пытался изменить сценарий, но он никогда не работал, потому что я не могу понять каталог правильно, я полагаю, из-за '\'
действия в качестве escape-символа?
python
path
string-literals
Gareth
источник
источник
Используйте
os.path
модуль.Или используйте сырые строки
Я также рекомендовал бы не пробелы в пути или именах файлов. И вы можете использовать двойную обратную косую черту в своих строках.
источник
"C:\"
качестве первой записи? Это испортило некоторую чистоту использованияjoin
?"C:\"
в середине имени файла. Кроме того, вы можете использоватьos.path.normpath
до или после объединения, чтобы убедиться, что путь печатается правильно.os.path.join( "C:\\", "meshes", "as" )
Да,
\
в Python строковые литералы обозначают начало escape-последовательности. На вашем пути у вас есть действительная двухсимвольная escape-последовательность\a
, которая свернута в один символ ASCII Bell :Другие распространенные escape-последовательности включают
\t
(табуляция),\n
(перевод строки),\r
(возврат каретки):Как вы можете видеть, во всех этих примерах обратная косая черта и следующий символ в литерале были сгруппированы вместе, чтобы сформировать один символ в конечной строке. Полный список escape-последовательностей Python находится здесь .
Есть множество способов справиться с этим:
Python не будет обрабатывать escape-последовательности в строковых литералах с префиксом
r
илиR
:Python в Windows также должен обрабатывать косые черты.
Вы могли бы использовать
os.path.join
...... или более новый
pathlib
модульисточник
Используйте PowerShell
В Windows вы можете использовать
/
свой путь точно так же, как Linux или macOS во всех местах, если вы используете PowerShell в качестве интерфейса командной строки. Он предустановлен в Windows и поддерживает множество команд Linux, таких какls
command.Если вы используете командную строку Windows (ту, которая появляется при вводе
cmd
в меню «Пуск» Windows), вам необходимо указать пути\
внутри нее. Вы можете использовать/
пути во всех других местах (редактор кода, интерактивный режим Python и т. Д.).источник
Если вы хотите вставить путь к Windows из другого источника (например, File Explorer) - вы можете сделать это с помощью
input()
вызова в консоли Python:Тогда просто скопируйте результат
источник