1

我正在使用 crate 提供的 Python 解释器的 Rust 绑定pyo3

我有以下代码:

fn run(script: &str) {
    Python::with_gil(|py| py.run(script, None, None)).unwrap();
}

fn main() {
    run("print('abc')");
}

我希望script从我的 Rust 程序中捕获和访问写入 stdout 的所有内容,而不是写入实际的 stdout。

也就是说,在这个例子中,程序实际上不应该 print abc,但它应该将它存储在内存中的某个地方,并交给我一个引用、拥有的字符串或其他东西。

理想情况下,这将通过回调来工作,在创建输出时将它们一个接一个地交给我。

4

0 回答 0