printfを使用してstdoutに出力する簡単なCモジュールを作成しました。PythonでインポートしたときにC関数の標準出力をリダイレクトする問題
// sample.c
func_print()
{
printf("Hello World!\n");
}
その後、私はあまりにも私のPythonプログラムでfunc_print
を使用することができるようにSWIG
を使用して、このラッパーを作りました。このプログラムでは、stdoutをtextctrlウィジェットにリダイレクトしました。 print
を使用して印刷したものは、textctrlウィジェットに正しく表示されます。私は(sample.pyから)C関数func_print()
を呼び出すとき
# sample.py
...
sys.stdout = textctrl # textctrl is a TextCtrl widget (wxPython).
print 'Hello from Python!' # prints in the textctrl widget, as expected.
しかし、端末の代わりにtextctrlウィジェットに印刷します。
func_print() # [Problem] prints to the terminal window, instead of the textctrl widget.
どういうわけか、期待通りCモジュール内の関数のstdout
がリダイレクトされませんようです。これを解決するのを手伝ってください。ありがとうございました。