Python raw_input zakłóca łączenie łańcuchów
Próbuję zrobić coś stosunkowo prostego w Pythonie i jestem zaskoczony tym, jak źle to nie działa, jak powinno być proste.
Po prostu próbuję połączyć trzy proste struny. Wprowadzone dane w raw_input to"abc"
we wszystkich przypadkach poniżej:
proj = raw_input("Name of project: ")
print proj
ProjRegex = 'test1' + proj + 'test2'
print ProjRegex
Plony:
abc
test2abc
Przypadek 2
proj = raw_input("Name of project: ")
print proj
ProjRegex = 'test1%stest2' % (proj)
print ProjRegex
Plony:
abc
test2abc
Zauważ, że w obu przypadkach zamiast drukowania"test1abctest2"
, zgodnie z oczekiwaniami, zastępuje test2 test1.
Wtedy zauważyłem, że jeśli zamiast używać raw_input, jeśli powiem:
proj = "abc"
ProjRegex = 'test1' + proj + 'test2'
Wtedy zachowuje się zgodnie z oczekiwaniami.
Więc coś się dziejeraw_input()
który chce dokonać zamiany łańcuchów? Rozumiem, że pobiera dane z klawiatury, usuwa znak nowej linii i zwraca jako ciąg znaków.