代码执行
支持在沙箱内执行 Python 代码,获取标准输出/标准错误与执行错误信息;同一沙箱实例上多次 run_code 共享 Python 状态(变量持久化)。
支持函数
- sandbox.run_code(code):执行代码,返回 execution
- execution.logs.stdout / execution.logs.stderr:标准输出、标准错误(stdout 可能为 list,需拼接)
- execution.error:执行错误,execution.error.value 为错误内容
使用示例
from e2b_code_interpreter import Sandbox
# 创建
sandbox = Sandbox.create(template="sandbox1")
# 单次执行
execution = sandbox.run_code("print('Hello from e2b!')")
# 执行代码时,设置环境变量和超时时间,单位为秒
# sandbox.run_code("print(\"hello\")",envs={"foo":"bar"},timeout=60)
stdout = "".join(execution.logs.stdout) if isinstance(execution.logs.stdout, list) else execution.logs.stdout
# 变量持久化(同 session)
sandbox.run_code("x = 42")
execution = sandbox.run_code("print(x)")
# stdout 中含 "42"
# 错误捕获
execution = sandbox.run_code("print(undefined_variable)")
assert execution.error is not None
assert "undefined_variable" in execution.error.value