2010-06-23 123 views
3

是否存在与raw_input类似的python函数,但在按Enter键时不显示换行符。例如,当您按Forth提示输入时,它不会显示换行符。
编辑:
如果我使用的代码:Python输入结束时不显示换行符

data = raw_input('Prompt: ') 
print data 

比输出可能是:

Prompt: Hello 
Hello 

,因为它打印一个换行符,当我按下回车。我想要一个类似于raw_input的函数,它不会显示换行符。所以,如果我想调用函数special_input和我使用的代码:

data = special_input('Prompt: ') 
print data 

比输出会是这样的:

Prompt: Hello Hello 
+0

我不知道的raw_input左右,但打印功能将不如果在例如后面使用逗号(打印“Hello”,则包含换行符) – 2010-06-23 22:46:13

+0

在3以下的Python版本中,print不是函数,而是关键字,因此添加逗号会改变内容,因为它具有特殊的语法。 raw_input是一个函数,所以它没有关键字可以具有的特殊语法。 – None 2010-06-23 23:45:56

+0

[如何在没有换行符或空格的Python中打印?](http://stackoverflow.com/questions/493386/how-to-print-in-python-without-newline-or-space) – 2014-04-17 16:38:36

回答

1

是的,还有其他的方法来读取像raw_input

线

您可以使用sys.stdin()

import sys 
line = sys.stdin.readline() 

或者,如果你想,你还可以使用密码getpass.getpass()

import getpass 
line = getpass.getpass() 

但是,如果你想要更多的东西看上你将需要使用curses