在Matlab / Octave中,如果表达式不以分号结尾;为了让它静音,它的值显示在输出上。但是,这不会在oct2py中发生- 这些值仅在稍后发生异常的情况下才会打印。我想捕获并显示输出,或者只是让它传递到标准输出 - 这些是调试打印。
我怀疑答案与Oct2Py()构造函数的 logger 参数有关,但我只是不知道如何将它放在一起......
关于日志记录,我主要对basicConfig()、setLevel()等之间的相互作用感到困惑。
如果您希望oct2py在输出打印输出方面表现得像Octave(我仍然不明白为什么不这样做),请替换构造函数调用
oc = oct2py.Oct2Py()
在你的代码中
import logging
logging.basicConfig(level=logging.DEBUG)
oc = oct2py.Oct2Py(logger=logging.getLogger())
你最终应该会看到所有的输出,只是以“DEBUG:root:”为前缀。(如果真的在乎,应该可以摆脱它。)