【问题标题】:Python input that ends without showing a newline以不显示换行符结束的 Python 输入
【发布时间】:2011-03-07 13:34:20
【问题描述】:

是否有一个类似于 raw_input 的 python 函数,但是当你按下回车时它不显示换行符。例如,当您在 Forth 提示符中按 enter 时,它不会显示换行符。
编辑:
如果我使用代码:

data = raw_input('Prompt: ')
print data

输出可能是:

Prompt: Hello
Hello

因为当我按下回车键时它会打印一个换行符。我想要一个类似于 raw_input 的函数,它不显示换行符。因此,如果我想要的函数被称为 special_input 并且我使用了代码:

data = special_input('Prompt: ')
print data

输出会是这样的:

Prompt: Hello Hello

【问题讨论】:

  • 我不确定 raw_input,但如果您在例如 ( print "Hello",) 之后使用逗号,打印函数将不包含换行符
  • 在 Python 3 以下的版本中,print 不是函数,而是关键字,因此添加逗号会改变事情,因为它具有特殊的语法。 raw_input 是一个函数,因此它没有关键字可以具有的特殊语法。

标签: python newline textinput


【解决方案1】:

是的,还有其他方法可以读取 raw_input 之类的行

你可以使用sys.stdin():

import sys
line = sys.stdin.readline()

或者如果你想获取密码也可以使用getpass.getpass():

import getpass
line = getpass.getpass()

但如果你想要更花哨的东西,你需要使用curses

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 2019-03-08
    • 1970-01-01
    • 2019-12-21
    相关资源
    最近更新 更多