%%cython
from libc.stdio cimport printf
def test():
printf('abc')
如果我运行test()
,它就不会打印任何内容。
目前我正在做一些愚蠢的事情:
cdef char s[80]
sprintf(s, 'something')
print s
在cython中使用printf
的更好方法是什么?为什么不打印?
答案 0 :(得分:2)
您可以使用wurlitzer
包捕获C级stdout / stderr并将其重定向到IPython。
例如,在Jupyter笔记本中包含以下代码块:
%load_ext Cython
%load_ext wurlitzer
%%cython
from libc.stdio cimport printf
def test():
printf('abc')
test()
# prints "abc"
答案 1 :(得分:0)
输出将打印在运行Jupyter笔记本的终端(控制台)中。不知道如何在Jupyter中显示它。