2014-01-29 42 views
0

我有將輸出寫入到文件中(.pxd文件定義如下)C函數:用Cython:輸出重定向到C函數的文件到Python字符串

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

(此寫入的problem人類可讀製劑到一個名爲fname的文件。)我想從Python使用這個函數,但輸出重定向到一個Python字符串。我查看了tempfile模塊,但並不知道如何處理這個問題。

我知道如何將函數包裝在.pyx文件中,而不是如何執行重定向。

回答

1

沒有其他簡單的方法可以製作tempoary文件(tempfile.mkstemp()),將結果傳遞給write_probread,該文件將文件重新傳回字符串。

它理論上可以實現一個「虛擬」文件系統來重定向IO調用。儘管如此,它的確聽起來不錯。