Python raw_input desordenando la concatenación de cadenas

Estoy tratando de hacer algo relativamente simple en Python y me sorprende lo mal que esto no funciona, por lo simple que debería ser.

Estoy aquí tratando de concatenar tres simples cuerdas. La entrada escrita en raw_input es"abc" en todos los casos a continuación:

proj = raw_input("Name of project: ")
print proj
ProjRegex = 'test1' + proj + 'test2'
print ProjRegex

Rendimientos:

abc
test2abc

Caso 2

proj = raw_input("Name of project: ")
print proj
ProjRegex = 'test1%stest2' % (proj)
print ProjRegex

Rendimientos:

abc
test2abc

Tenga en cuenta que en ambos casos en lugar de imprimir"test1abctest2", como se esperaba, está sustituyendo test2 por test1.

Entonces me di cuenta de que si en lugar de utilizar raw_input, si digo:

proj = "abc"
ProjRegex = 'test1' + proj + 'test2'

Entonces se comporta como se espera.

Entonces está sucediendo algo enraw_input() que es querer hacer sustitución de cadenas? Mi entendimiento es que toma la entrada del teclado, elimina una nueva línea y devuelve como una cadena.

Respuestas a la pregunta(3)

Su respuesta a la pregunta