pywebio最大的好处就是可以像编写终端脚本一样编写web网页,通过提供一系列的交互函数在浏览器的层面上获取用户的输入与输出。
pycharm 编辑器下运行效果
ipython 编辑器下运行效果
安装 python web 插件
pip3 install -U pywebio
导入相关模块
from pywebio.input import * from pywebio.output import * from pywebio import start_server
输入型信息提交
def validate_age(age): if age < 1: return "年龄太小了" elif age > 120: return "年龄太大了" else: pass name = input('请输入你的姓名:') age = input('请输入你的年龄:', type=NUMBER, validate=validate_age, help_text='必须输入1到120之间的数字') sex = select("选择性别:", ['男', '女']) rsrv = textarea("请填写备注信息", rows=3, placeholder='备注信息') # todo 根据提交的信息处理业务 print(name, age, sex, rsrv)
输出型信息提交
put_text('输出输入的信息:') put_table( tdata=[ ['序号', '姓名', '年龄', '性别', '备注'], [1, name, age, sex, rsrv] ] ) put_table( tdata=[ ['序号', '姓名', '年龄', '性别', '备注'], [1, 'Python 集中营', 12, '未知', '我是一个专注于知识分享的公众号'] ] ) put_html( '<font color="green">公众号[Python 集中营],我是一个专注于知识分享的公众号!</font>' ) arraies = [['列名1', '列名2', '列名3', '列名4', '列名5', '列名6', '列名7', '列名8', '列名9', '列名10'], ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'], ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'], ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'], ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'], ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'o'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'o'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'o'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'o'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'o'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'o'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'o'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'o'], ] put_table( tdata=arraies )
start_server 调起服务
if __name__ == '__main__': '''start_server 函数启动web应用''' start_server( applications=[app_exec], reconnect_timeout=3000, debug=True, auto_open_webbrowser=True, remote_access=True )