2010-06-23 122 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