以不显示换行符结束的 Python 输入
Posted
技术标签:
【中文标题】以不显示换行符结束的 Python 输入【英文标题】:Python input that ends without showing a newline 【发布时间】: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 是一个函数,因此它没有关键字可以具有的特殊语法。 How to print in Python without newline or space? 的可能重复项 【参考方案1】:是的,还有其他方法可以读取 raw_input
之类的行
你可以使用sys.stdin()
:
import sys
line = sys.stdin.readline()
或者如果你想获取密码也可以使用getpass.getpass()
:
import getpass
line = getpass.getpass()
但如果你想要更花哨的东西,你需要使用curses
【讨论】:
以上是关于以不显示换行符结束的 Python 输入的主要内容,如果未能解决你的问题,请参考以下文章