Я экспериментировал с символами '\', используя '\ a\b\c...', чтобы просто перечислить для себя, какие символы Python интерпретируют как управляющие символы, и к чему. Вот что я нашел:
\a - BELL
\b - BACKSPACE
\f - FORMFEED
\n - LINEFEED
\r - RETURN
\t - TAB
\v - VERTICAL TAB
Большинство других символов, которые я пробовал, '\ g', '\ s' и т.д., просто оценивают 2-символьную строку обратного слэша и заданного символа. Я понимаю, что это намеренно и имеет смысл для меня.
Но '\ x' является проблемой. Когда мой script достигает этой исходной строки:
val = "\x"
Я получаю:
ValueError: invalid \x escape
Что такого особенного в '\ x'? Почему он обрабатывается иначе, чем другие неэкранированные символы?