You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python控制台支持Shift+Enter提交多行输入而非Enter?

实现Python控制台段落输入(Shift+Enter换行,Enter提交)

默认的input()函数确实无法区分Enter和Shift+Enter,因为终端会把这两个按键都解析为换行符,导致按下Enter就直接提交单行内容。要实现段落输入需求,可以用以下几种方法:

方法1:循环读取多行,连续两次Enter提交

这种方法让用户按Shift+Enter换行输入,输入完最后一行后按两次Enter提交整个段落:

print("输入段落,按两次Enter提交:")
lines = []
while True:
    line = input()
    if not line:  # 空行代表触发提交
        break
    lines.append(line)
text = '\n'.join(lines)
print("\n你输入的内容是:")
print(text)

方法2:读取全部输入直到结束符

利用sys.stdin.read()读取所有输入,直到用户按下系统结束键(Windows按Ctrl+Z,Linux/macOS按Ctrl+D):

import sys

print("输入段落,按Ctrl+Z(Windows)或Ctrl+D(Linux/macOS)提交:")
text = sys.stdin.read()
print("\n你输入的内容是:")
print(text)

注意事项

  • 终端对Shift+Enter的解析因系统和终端程序不同有差异,部分终端中Shift+Enter和Enter行为完全一致,此时只能通过上述方法间接实现段落输入。
  • 若使用Jupyter Notebook或IPython这类交互式环境,默认就支持Shift+Enter换行、Enter执行代码,无需额外处理。

内容的提问来源于stack exchange,提问作者ShyMike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 02:24:58