Невозможно использовать rstrip () внутри f-строки python - PullRequest
2 голосов
/ 03 августа 2020

В настоящее время я использую f-строку для печати некоторых значений в двойных кавычках:

f.write(f'"{str(ID).rstrip("'")}", "{str(TSQ)}" \n')

Проблема в том, что из-за аргумента "'" rstrip я получаю SyntaxError: unexpected character after line continuation character

Я знаю, что есть простые исправления, такие как использование .format() или предварительная обработка строки ID, но поскольку использование f-строк обычно больше pythoni c Мне было интересно, была ли обходной путь для этого.

Если ID был 872 'и TSQ был 8, этот код должен напечатать:

"872", "8"

Ответы [ 2 ]

2 голосов
/ 03 августа 2020

Проблема только в том, что у вас есть цитата внутри цитаты. Используйте тройные окружающие кавычки для устранения неоднозначности:

f'''"{str(ID).rstrip("'")}", "{str(TSQ)}" \n'''
0 голосов
/ 03 августа 2020

Вы должны сбежать верным путем. Ошибка связана не с rstrip, а с побегом.

f.write(f"\"{str(ID).rstrip(chr(39))}\", \"{str(TSQ)}\" \n")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...