Return
テキストを送信しShift + Return
て改行を挿入するために使用する典型的な IM クライアントの動作を取得しようとしています。たとえばreadlineとを使用して、Python で最小限の労力でそれを達成する方法はありraw_input
ますか?
質問する
3570 次
4 に答える
2
さて、ある意味で、でも達成できると聞きreadline
ました。
import readline
必要なキー(Shift + Enter)をマクロに設定して、行と改行の最後に特別な文字を配置することができます。raw_input
次に、ループで呼び出すことができます。
このような:
import readline
# I am using Ctrl+K to insert line break
# (dont know what symbol is for shift+enter)
readline.parse_and_bind('C-k: "#\n"')
text = []
line = "#"
while line and line[-1]=='#':
line = raw_input("> ")
if line.endswith("#"):
text.append(line[:-1])
else:
text.append(line)
# all lines are in "text" list variable
print "\n".join(text)
于 2012-07-05T12:19:08.180 に答える
1
readline
押された個々のキーをキャプチャせず、入力ドライバーからの文字応答を処理するだけなので、モジュールを使用するだけでそれができるとは思えません。
ただし、PyHookを使用して行うこともできます。また、Shift
キーと一緒にEnter
キーを押して、ストリームに改行を挿入することもできますreadline
。
于 2012-07-05T11:30:25.583 に答える