Shift + Return在python中插入换行符

Man*_*ert 8 python input readline

我正在尝试获取Return用于发送文本和Shift + Return插入换行符的典型IM客户端的行为.有没有办法在Python中用最少的努力实现这一点,使用例如readlineraw_input

Jir*_*iri 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)
Run Code Online (Sandbox Code Playgroud)