Cython:将C函数文件的输出重定向到Python字符串

Cython:将C函数文件的输出重定向到Python字符串,python,string,file-io,cython,Python,String,File Io,Cython,我有一个将输出写入文件的C函数(.pxd文件定义如下): (这会将人类可读的问题公式写入名为fname的文件)我想从Python使用此函数,但输出会重定向到Python字符串。我已经看过tempfile模块,但并不知道如何解决这个问题 我确实知道如何将函数包装到.pyx文件中,但不知道如何重定向。除了创建临时文件(tempfile.mkstemp()),将结果传递给写入问题和读取该文件,将其返回到字符串中之外,没有其他简单的方法 理论上,它可以实现一个“虚拟”文件系统来重定向IO调用。不过,这听

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

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


我确实知道如何将函数包装到
.pyx
文件中,但不知道如何重定向。

除了创建临时文件(
tempfile.mkstemp()
),将结果传递给
写入问题
读取
该文件,将其返回到字符串中之外,没有其他简单的方法

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

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