Проблема с функцией Python repr - PullRequest
2 голосов
/ 14 февраля 2010

Я имею дело с некоторым синтаксическим анализом текста в Python, и для этого хорошо, чтобы я применил функцию repr () к каждой строке, которую я собираюсь проанализировать, но после синтаксического анализа мне нужно преобразовать некоторую проанализированную подстроку обратно к предыдущему представлению, потому что я хочу напечатать их, и я не могу это сделать. Я думал, что функция str () должна вернуть строку в более читаемую форму. Но когда я применяю функцию str к этой подстроке, ничего не меняется. Как я уже сказал, мне нужно напечатать строку в удобочитаемой для человека форме, не печатая escape-последовательности, такие как \ n, \ t и т. Д. Но когда я применяю repr () к строке и затем хочу преобразовать ее обратно, я не знаю как, потому что функция str () этого не сделала. Итак, мой вопрос, как преобразовать строку обратно в читабельную форму человека?

Спасибо за каждый ответ.

1 Ответ

3 голосов
/ 14 февраля 2010

str() не влияет на объекты, которые уже являются строками. Вам нужно использовать eval(), чтобы отменить repr(), где это возможно. Попробуйте вместо этого использовать ast.literal_eval().

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