How to query an input in Python without outputting

2019-08-16 09:06发布

问题:

The title describes the question pretty much.

回答1:

The input function, which does the query, does not emit a newline:

>>> input('tell me: ')
tell me: what?
'what?'
>>> 

as you see, the prompt is output without any newline, and what the user types after that appears on the same line as the prompt. Of course, the user is also typing a newline, and (like everything else the user types), that newline is echoed (so further results are on following lines). Is that your problem?

If so, then you need to switch to platform-specific approaches, such as curses on just about any machine except Windows, and msvcrt on Windows (or, you could look for a curses port on Windows, but I don't know if there's one for Python 3). The two modules are very different, and you haven't clarified your platform (or your exact needs -- my previous paragraph is an attempt at an educated guess;-), so I'll just wait for you to clarify needs and platforms rather than launching into long essays that may not prove helpful.



回答2:

If you use raw_input it does not insert a new line automatically.

>>> name = raw_input ("What...is your name? ") 
What...is your name? Arthur, King of the Britons!