Python raw_input messing up string concatenation

前端 未结 3 1479
梦谈多话
梦谈多话 2021-01-22 20:21

I am trying to do something relatively simple in Python and am surprised at how badly this isn\'t working for how simple it should be.

I\'m here just trying to concatena

相关标签:
3条回答
  • 2021-01-22 20:47

    You're running under Windows, correct? The string you enter is terminated by a DOS line ending, so that ProjRegex consists of test1abc\rtest2. When printed, the \r moves the cursor to the beginning of the line, at which point test2 overwrites test1.

    0 讨论(0)
  • 2021-01-22 20:47

    Could you verify if you've set the PYTHONUNBUFFERED environment variable? When set on Windows, you will definitely run into issues where raw_input returns the \r. You can read more about it here.

    0 讨论(0)
  • 2021-01-22 20:51

    This must be a problem related to a a trailing \r... Try this:

    'test1' + proj.rstrip() + 'test2'
    

    Explanation:

    Your concatenated string contains \r in the middle. When printed, the console does print the beginning as test1... but when it encounters the \r, it "carriage-returns" to the beginning of the line, and overwrites it with the rest.

    Further reading about newlines

    0 讨论(0)
提交回复
热议问题