PyWebIO - 使用交互式Python构建Web应用
简介
使用
使用同步而不是基于回调的方式获取输入,代码编写逻辑更自然 非声明式布局,布局方式简单高效 代码侵入性小,旧脚本代码仅需修改输入输出逻辑便可改造为Web服务 支持整合到现有的Web服务,目前支持与Flask、Django、Tornado、aiohttp、FastAPI框架集成 同时支持基于线程的执行模型和基于协程的执行模型 支持结合第三方库实现数据可视化
pip3 install -U pywebio
from pywebio.input import input, FLOAT
from pywebio.output import put_text
def bmi():
height = input("请输入你的身高(cm):", type=FLOAT)
weight = input("请输入你的体重(kg):", type=FLOAT)
BMI = weight / (height / 100) ** 2
top_status = [(14.9, '极瘦'), (18.4, '偏瘦'),
(22.9, '正常'), (27.5, '过重'),
(40.0, '肥胖'), (float('inf'), '非常肥胖')]
for top, status in top_status:
if BMI <= top:
put_text('你的 BMI 值: %.1f,身体状态:%s' % (BMI, status))
break
if __name__ == '__main__':
bmi()
在Server模式下,PyWebIO会启动一个Web服务来持续性地提供服务。当用户访问服务地址时,PyWebIO会开启一个新会话并运行PyWebIO应用。 Script模式下,在任何位置都可以调用PyWebIO的交互函数。如果用户在会话结束之前关闭了浏览器,那么之后会话内对于PyWebIO交互函数的调用将会引发一个 SessionException 异常。
总结
阅读 10
赞
赞 (0)