niv*_*niv 6 stdout flush python-3.x numba
显然numba既不支持sys.stdout.flush也不支持print("", flush=True).
在jitted函数中刷新"打印"的好方法是什么?
您可以使用objmode()上下文管理器numba来使用\xe2\x80\x99s中不支持的代码nopython:
import numba\n\n@numba.njit\ndef f(x):\n x *= 2\n with numba.objmode():\n print(x, flush=True)\n return x + 1\n\nprint(f\'f(7) = {f(7)}\')\n# 14\n# f(7) = 15\nRun Code Online (Sandbox Code Playgroud)\n如文档中所述,由于涉及开销,这只能在性能关键代码部分之外使用。
\n注意:我不\xe2\x80\x99t认为这个问题最初在2017年提出时是可用的。
\n| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |