Другие ответы верны: вам следует избегать всех обратных наклонных слешей и, что еще лучше, вы должны использовать forward sla sh для элементов пути (вы даже можете взглянуть на библиотеку pathlib ).
Но чтобы конкретно ответить на ваш вопрос о том, почему проблема заключается только в последней, а не в предыдущих обратных косых чертах, вам следует взглянуть на определение строковых литералов .
Вы увидите, что существует (короткий) список символов, для которых обратная коса sh делает что-то особенное. В остальном обратная коса sh берется как сама.
Например, "\n"
интерпретируется не как строка с двумя символами (\
и n
), а как строка только с символ перевода строки. Это не относится к "\P"
, "\F"
или "\E"
, каждый из которых состоит из двух символов, поскольку они не имеют определенного значения c.
\"
и \'
являются особенными тем, что они позволяют соответственно вставить символ "
или '
в строковый литерал, ограниченный этим же символом. Например, 'single: \', double "'
и "single: ', double: \""
- это два способа определения строкового литерала single: ', double "
.