Ошибка EOL при объединении строк, когда backsla sh (\) используется в python - PullRequest
0 голосов
/ 07 февраля 2020

Почему это не работает? у меня ощущение, что это как-то связано с косой чертой (\);

savepath = ("C:\\Python\" + date4filename + ".txt")

Ошибка

File "C:\python\temp.py", line 2
    savepath=("C:\\Python\" + date4filename)
                                           ^
SyntaxError: EOL while scanning string literal
[Finished in 0.191s]

1 Ответ

2 голосов
/ 07 февраля 2020

Back sla sh имеет специальное значение, которое используется для удаления специального значения специальных символов при добавлении префикса, здесь это двойная кавычка ("). По этой причине у нас есть необработанные строки в python. Необработанные строки определены использование r' '. Когда используются необработанные строки, все символы внутри строки обрабатываются как обычные, без специального значения

Поскольку обратное значение sh имеет особое значение, для использования действительного обратного выражения sh нам необходимо использовать (\\)

savepath = ("C:\\Python\\" + date4filename + ".txt")

Чтобы не усложнять задачу, используйте библиотеку os.path

import os.path
os.path.join("c://python/", date4filename, ".txt")

Чтобы избежать этих проблем с путями, вы можете использовать * nix style forwardsla sh ( /) в python независимо от платформы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...