r"\". Всё, во что я верил, оказалось ложью. Я даже сначала подумал, что у меня сломалась IDE, когда написанное вдруг начало светиться красным.Обычно люди думают, что все бэкслеши в r-строках перестают быть экранирующими символами. Это не совсем так, потому что внутри строковых литералов люди часто зачем-то хотят использовать те же самые кавычки, в которых строка и записана. Чтобы это было возможным, нужно кавычки внутри литерала экранировать. Так что внутри r-строк бэкслеши в большинстве случаев просто символы, но перед кавычками они снова становятся экранирующими. А если тебе нужно сделать строковый литерал, который заканчивался бы на бэкслеш, то его тоже нужно заэкранировать (удвоить).
Так что самый короткий способ создать строку из одного бэкслеша — это всё-таки просто
"\\". Raw строки тут никак не помогут.Судя по результатам голосования, не только меня удивило такое поведение.
Даже в официальном FAQ есть такой пункт:
https://docs.python.org/3/faq/design.html#why-can-t-raw-strings-r-strings-end-with-a-backslash