【问题标题】:Cython: redirect output to file of C function to Python stringCython:将输出重定向到 C 函数文件到 Python 字符串
【发布时间】:2014-01-29 14:22:25
【问题描述】:

我有一个将输出写入文件的 C 函数(.pxd 文件定义如下):

int write_prob(ProbObj* problem, const char* fname)

(这会将problem 的人类可读公式写入名为fname 的文件。)我想从Python 中使用这个函数,但输出重定向到Python 字符串。我看过 tempfile 模块,但不知道如何解决这个问题。

我知道如何将函数包装在 .pyx 文件中,只是不知道如何进行重定向。

【问题讨论】:

    标签: python string file-io cython


    【解决方案1】:

    除了制作一个临时文件 (tempfile.mkstemp()),将结果传递给 write_probread 将该文件返回到一个字符串之外,没有其他简单的方法。

    理论上它可以实现一个“虚拟”文件系统来重定向 IO 调用。不过,这听起来确实有些过火了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多