Как я могу сделать строковую переменную, содержащую один символ "\" в python? - PullRequest
0 голосов
/ 08 марта 2020
string="\"

Это дает ошибку SyntaxError: EOL при сканировании строкового литерала

srring = r "\" также не работает

Ответы [ 2 ]

2 голосов
/ 08 марта 2020

Вы могли бы написать это так:

string="\\"

Первый избегает последнего и не позволяет ему избежать конца литерала.


Второй вопрос из комментариев:

Напишите такую ​​функцию:

def find(s, ch):
    return [i for i, ltr in enumerate(s) if ltr == ch]

затем go и вызовите ее со своей строкой:

s=r"w:/a\bc::/12\xy"
find(s, "\\")

, которая будет печатать

[4, 12]

0 голосов
/ 08 марта 2020

Просто удвоите backsla sh:

inp = "Jon\\Skeet"
print(inp)

Это печатает:

Jon\Skeet

Проблема здесь в том, что backsla sh является управляющим символом, а \" появление внутри строки, разделенной двойными кавычками, означает буквальную двойную кавычку.

Если вы хотите разбить приведенную выше строку по backsla sh, тогда используйте split():

parts = inp.split("\\")
print(parts)

['Jon', 'Skeet']
...