2012-04-19 4 views
6

私はraw_input()を使って変数内にメッセージを格納しています。だから私はキャリッジリターン/新しい行を新しい段落を開始するために入力を押すことはできません。今私がenterを押すと、私のプログラムの次の部分に進むだけです。pythonのraw_input()関数に改行を入れる方法は?

私はすでにこのような何か試してみました:

>>> message = raw_input("Message: ") 
Message: Hello Sir, \n It's great that.. 
>>> message 
"Hello Sir, \\n It's great that.." 
>>> 

をそれは働いていなかった、と私はまた働いていなかった、単一引用符と二重引用符でそれを囲んでみました。

私はこれを行うための他の方法がwxPythonのまたはTkinterのを使用してのように、そこにあることを理解し、私は、厳密コンソール、それを維持したいです。これは可能ですか?

答えて

7

sysモジュールを使用できますか?あなたが望むなら、これはトリックを行います。 Ctrl + Dを押すだけで終了します。 Python raw_input ignore newline

+0

sys.stdin.readlines()魔法のように動作しますが、私はなぜ知らない仕事をするCTRL-Dを得るように見えることはできません。

import sys message = sys.stdin.readlines() 

それ以外の場合、これはあなたの質問には答えますか? – coffeeNcode

+0

代わりにctrl-cを使用する必要がありましたが、今メッセージを印刷しようとするとキーボード割り込みエラーが発生します。 – coffeeNcode

+1

私はそれを最終的に考え出した!私はctrl-cを使用することができません。これはキーボードの割り込みエラーを引き起こします。私はウィンドウ上にあるのでCtrl-Dを使用できません.CTRL-ZまたはF6を使用してコンソールに表示する必要があります。この^ ZのようにしてEnterを押します。その後、リストからメッセージを文字列に変換する必要があります。これは、このようにすることができます>>> roughmessage = sys.stdin.readlines() >>> message = '' .join(roughmessage) – coffeeNcode

関連する問題