Отмена экранирования экранированных символов в строке с использованием Python 3.2

Скажем, у меня есть строка в Python 3.2, подобная этой:

'\n'

Когда я печатаю () ее на консоли, она отображается как новая строка, очевидно. Я хочу иметь возможность печатать его буквально как обратную косую черту, за которой следует n. Кроме того, мне нужно сделать это для всех экранированных символов, таких как \ t. Итак, я ищу функцию unescape (), которая в общем случае работала бы следующим образом:

>>> s = '\n\t'
>>> print(unescape(s)) 
'\\n\\t'

Возможно ли это в Python без создания словаря экранированных символов для их буквальных замен?

(На случай, если кто-нибудь интересно, причина, по которой я это делаю, заключается в том, что мне нужно передать строку внешней программе в командной строке. Эта программа понимает все стандартные escape-последовательности.)

6
задан Mike Chamberlain 18 February 2012 в 07:58
поделиться