Python Reemplazar \\ con \

Así que parece que no puedo entender esto ... Tengo una cadena que dice,"a\\nb" y quiero que esto se convierta en"a\nb". He intentado todo lo siguiente y ninguno parece funcionar;

>>> a
'a\\nb'
>>> a.replace("\\","\")
  File "<stdin>", line 1
    a.replace("\\","\")
                      ^
SyntaxError: EOL while scanning string literal
>>> a.replace("\\",r"\")
  File "<stdin>", line 1
    a.replace("\\",r"\")
                       ^
SyntaxError: EOL while scanning string literal
>>> a.replace("\\",r"\\")
'a\\\\nb'
>>> a.replace("\\","\\")
'a\\nb'

Realmente no entiendo por qué funciona el último, porque esto funciona bien:

>>> a.replace("\\","%")
'a%nb'

¿Hay algo que me falta aquí?

EDITA Entiendo que \ es un personaje de escape. Lo que estoy tratando de hacer aquí es convertir todo\\n \\t etc. en\n \t etc. y reemplazar no parece estar funcionando de la forma que imaginé.

>>> a = "a\\nb"
>>> b = "a\nb"
>>> print a
a\nb
>>> print b
a
b
>>> a.replace("\\","\\")
'a\\nb'
>>> a.replace("\\\\","\\")
'a\\nb'

Quiero que la cadena a se parezca a la cadena b. Pero reemplazar no está reemplazando barras como pensé que lo haría.

Respuestas a la pregunta(6)

Su respuesta a la pregunta