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

如何向嵌入在Python脚本中的代码自动传递输入(无需人工交互)

实现自动向exec中的input()传递输入的方法

完全可行,以下是两种实用的实现方式:

方法一:重定向标准输入

通过替换sys.stdin为模拟输入流,让input()从预设内容中读取,而非等待控制台输入:

import sys
from io import StringIO

# 保存原始标准输入,避免影响后续代码
original_stdin = sys.stdin
# 模拟输入内容,多行输入用\n分隔
sys.stdin = StringIO("自动输入的第一行内容\n自动输入的第二行内容")

exec("i=input()\nprint(i)\nj=input()\nprint(j)")

# 恢复原始标准输入
sys.stdin = original_stdin

方法二:临时替换input函数

直接替换全局的input函数,让exec内的input()调用我们定义的模拟函数,返回预设内容:

# 保存原始input函数
original_input = __builtins__.input

# 自定义模拟input,可根据需求返回不同内容
def mock_input(prompt=""):
    # 若需要区分不同prompt返回值,可在这里加逻辑
    return "自动输入的内容"

__builtins__.input = mock_input

exec("i=input()\nprint(i)")

# 恢复原始input函数
__builtins__.input = original_input

两种方法各有适用场景:第一种适合需要模拟多行输入的情况;第二种更灵活,可根据输入提示返回不同内容,适合简单输入场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:05:35