【问题标题】:How to query an input in Python without outputting a new line如何在 Python 中查询输入而不输出新行
【发布时间】:2010-06-06 03:04:21
【问题描述】:

标题很好地描述了这个问题。

【问题讨论】:

  • 不是你认为的那样。请给我一些代码。
  • 请提供示例代码并在标题或正文中提及语言。

标签: python input python-3.x newline


【解决方案1】:

执行查询的input 函数不会发出换行符:

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

如您所见,提示符是在没有任何换行符的情况下输出的,并且用户在此之后键入的内容与提示符出现在同一行中。当然,用户也在输入一个换行符,并且(就像用户输入的所有其他内容一样),那个换行符被回显(所以进一步的结果在后面的行中)。是你的问题吗?

如果是这样,那么您需要切换到特定于平台的方法,例如 curses 在除 Windows 之外的几乎任何机器上,在 Windows 上使用 msvcrt(或者,您可以在 Windows 上寻找 curses 端口,但我不知道是否有适用于 Python 3 的)。这两个模块非常不同,而且您还没有阐明您的平台(或您的确切需求——我的上一段是在尝试有根据的猜测;-),所以我将等您阐明需求和平台,而不是而不是开始写可能没有帮助的长篇文章。

【讨论】:

    【解决方案2】:

    如果您使用 raw_input,它不会自动插入新行。

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

    【讨论】:

    • 啊,我读了标题,正文,然后只用了很少的信息。我没有详细阅读标签。
    • 对于任何阅读的新手来说,这意味着 raw_input 在 3.0 中消失了,而在 3.0 中的 input 不再像大多数外行人认为的那样令人震惊。跨度>
    猜你喜欢
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    相关资源
    最近更新 更多