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
)
【往期精选】
python回调函数能做什么?
解决pyinstaller打包过程中外部资源无法加载的问题 ...
pyqt5做了一个二维码生成器,已打包成exe可执行程序...
如何在控制台实现一个数据管理系统(包括MYSQL数据库的增删改查)
自制文档格式转换器,支持 .txt/.xlsx/.csv格式转换...