Python脚本实现多行输入的三种核心方法:sys.stdin.read()
适合不确定行数的批量读取,input()
循环适合交互式逐行处理,三引号字符串适用于固定文本。
-
sys.stdin.read()
批量读取
通过import sys
导入模块后,sys.stdin.read()
可一次性读取所有输入直至EOF(文件结束符),适合牛客网等编程平台的测试用例处理。例如:python复制
import sys data = sys.stdin.read() # 用户输入后按Ctrl+D结束
优势是代码简洁,但无法实时处理单行数据。
-
input()
循环逐行输入
结合while
循环和try-except
捕获EOFError
,动态收集用户输入,以空行或特定命令(如"STOP")终止:python复制
lines = [] while True: line = input("输入内容(空行结束):") if not line.strip(): break lines.append(line)
灵活性高,适合需要逐行校验的场景,如交互式命令行工具。
-
三引号多行字符串
直接使用'''
或"""
包裹固定文本,保留换行和缩进格式:python复制
text = """第一行 第二行 第三行"""
仅适用于代码内预定义的文本,如文档字符串或静态配置。
提示:根据场景选择方法——批量数据处理选sys.stdin
,交互式需求用input()
循环,固定内容直接三引号。注意exec()
执行动态输入时需防范代码注入风险。