Python raw_input bringt die String-Verkettung durcheinander

Ich versuche etwas relativ Einfaches in Python zu machen und bin überrascht, wie schlecht das nicht funktioniert, so einfach es sein sollte.

Ich versuche hier nur, drei einfache Zeichenfolgen zu verketten. Die bei raw_input eingegebene Eingabe lautet"abc" In allen folgenden Fällen:

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

Erträge:

abc
test2abc

Fall 2

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

Erträge:

abc
test2abc

Beachten Sie, dass in beiden Fällen statt zu drucken"test1abctest2"Wie erwartet wird test1 durch test2 ersetzt.

Dann ist mir aufgefallen, dass, wenn ich nicht raw_input benutze, wenn ich sage:

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

Dann verhält es sich wie erwartet.

Also ist etwas los inraw_input() Wollen Sie die Zeichenfolge ersetzen? Ich verstehe, dass es Tastatureingaben erfordert, Zeilenumbrüche entfernt und als Zeichenfolge zurückgegeben wird.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage