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

如何从批处理文件运行Python脚本时自动为input函数传递输入值

解决方案

出现EOF错误的核心原因是Windows批处理管道传输时,Python默认的标准输入缓冲机制无法正常识别echo输出的换行符,导致input函数判定输入提前结束。你可以选择以下任意一种方法解决:

  • 方法1:调整批处理echo写法,补全标准换行
(echo 1&&echo.) | python_location\python.exe python_script_location\test.py

echo.用于输出明确的回车换行符,匹配input函数的输入结束判定规则。

  • 方法2:给Python命令添加无缓冲运行参数
echo 1 | python_location\python.exe -u python_script_location\test.py

-u参数会关闭Python的标准输入输出缓冲,让管道传输的内容可以被即时正常读取。

  • 方法3(长期使用更推荐):修改Python脚本兼容命令行传参
    修改Python脚本的输入逻辑,优先读取命令行参数,不存在时再触发input交互:
import sys
# 优先取第一个命令行参数作为输入值
user_input = sys.argv[1] if len(sys.argv) > 1 else input("请输入值:")
# 原有后续逻辑不变

修改后批处理无需使用管道,直接传参即可,稳定性最高:

python_location\python.exe python_script_location\test.py 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:54:00