How to query an input in Python without outputting

2019-08-16 09:02发布

The title describes the question pretty much.

2条回答
淡お忘
2楼-- · 2019-08-16 09:04

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!
查看更多
forever°为你锁心
3楼-- · 2019-08-16 09:21

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.

查看更多
登录 后发表回答