如何在Python中查询输入而不输出新行
标题很好地描述了这个问题。
The title describes the question pretty much.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
标题很好地描述了这个问题。
The title describes the question pretty much.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
执行查询的
input
函数不会发出换行符:如您所见,输出提示时没有任何换行符,并且用户在其后键入的内容将显示在与提示符相同的行上。当然,用户也正在键入换行符,并且(就像用户键入的其他内容一样),该换行符会得到回显(因此进一步的结果位于以下行中)。这是你的问题吗?
如果是这样,那么您需要切换到特定于平台的方法,例如 在除 Windows 之外的几乎任何计算机上诅咒,并且 msvcrt (或者,您可以在 Windows 上查找
curses
端口,但我不知道是否有适用于 Python 3 的端口)。这两个模块非常不同,并且您还没有阐明您的平台(或您的确切需求 - 我的上一段是尝试进行有根据的猜测;-),所以我将等待您澄清需求和平台,而不是而不是开始写可能没有帮助的长篇文章。The
input
function, which does the query, does not emit a newline: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.如果您使用 raw_input 它不会自动插入新行。
If you use raw_input it does not insert a new line automatically.