这段代码
select.select([sys.stdin], [], [], 1.0)
Run Code Online (Sandbox Code Playgroud)
在Linux上完全符合我的要求,但在Windows中却没有.
我已经使用kbhit()在msvcrt之前看数据是否可用标准输入读取,但在这种情况下,它总是返回0.另外msvcrt.getch()返回'\xff'而sys.stdin.read(1)返回'\x01'.似乎msvcrt函数表现不正常.
不幸的是我不能使用TCP套接字,因为我无法控制应用程序说我的Python程序.
我正在使用Jinja 2.8模板引擎.我正在尝试编写一个模板,它将遍历树结构并从该树输出信息.要做到这一点,我试图使用一个调用自己的宏,似乎不起作用.
这个简单的递归宏也不起作用:
{% macro factorial(n) %}
{% if n > 1 %}
{{ n }} * {{ factorial(n-1) }}
{% endif %}
{% endmacro %}
{{ factorial(3) }}
Run Code Online (Sandbox Code Playgroud)
在Jinja代码的第三行引发运行跟随错误.
UndefinedError: 'factorial' is undefined
Run Code Online (Sandbox Code Playgroud)
Jinja是否支持递归宏?如何在Jinja中遍历嵌套数据结构?