Единственный способ вставить одну цитату в строку, начинающуюся с одной кавычки, - это избежать ее. Таким образом, как исходные, так и регулярные строковые литералы позволят экранировать символы кавычек, когда у вас есть необработанная обратная косая черта, сопровождаемая символом кавычки. Из-за требования, чтобы был способ выразить одиночные (или двойные) кавычки внутри строковых литералов, которые начинаются с одиночных (или двойных) кавычек, строковый литерал '\'
не является законным, независимо от того, используете ли вы обычный или обычный строковый литерал.
Чтобы получить произвольную строку с нечетным числом обратных косых черт, я считаю, что лучший способ - использовать регулярные строковые литералы. Это происходит потому, что пытается использовать r'\\'
будет работать, но это даст вам строку с два обратными косыми чертами вместо одного:
>>> '\\' # A single literal backslash.
'\\'
>>> len('\\')
1
>>> r'\\' # Two literal backslashes, 2 is even so this is doable with raw.
'\\\\'
>>> len(r'\\')
2
>>> '\\'*3 # Three literal backslashes, only doable with ordinary literals.
'\\\\\\'
>>> len('\\'*3)
3
Этого ответ предназначен только в качестве дополнения к другой.