如何允许c printf在cython cell的ipython笔记本中打印?

如何允许c printf在cython cell的ipython笔记本中打印?,c,cython,ipython-notebook,C,Cython,Ipython Notebook,如果我运行test(),它不会打印任何内容 目前我正在做一些愚蠢的事情,比如: %%cython from libc.stdio cimport printf def test(): printf('abc') 在cython中使用printf的更好方法是什么?为什么不打印 输出将打印在运行Jupyter笔记本的终端(控制台)上。但不确定如何在Jupyter中显示它。您可以使用该包捕获C级标准输出/stderr并将其重定向到IPython 例如,在Jupyter笔记本中包含以下代码块:

如果我运行
test()
,它不会打印任何内容

目前我正在做一些愚蠢的事情,比如:

%%cython
from libc.stdio cimport printf
def test():
    printf('abc')

在cython中使用
printf
的更好方法是什么?为什么不打印

输出将打印在运行Jupyter笔记本的终端(控制台)上。但不确定如何在Jupyter中显示它。

您可以使用该包捕获C级标准输出/stderr并将其重定向到IPython

例如,在Jupyter笔记本中包含以下代码块:

%load\u ext Cython
%加载外部wurlitzer
%%cython
来自libc.stdio cimport printf
def test():
printf('abc')
test()
#打印“abc”

目前,IPython仅捕获并显示Python级别的输出,请查看此内容以讨论此问题。但是,我不知道输出到哪里。wurlitzer似乎只适用于Unix系统,因为它使用了
fcntl
,这是Unix唯一的库:(
cdef char s[80]
sprintf(s, 'something')
print s