当前位置: 首页 > news >正文

Streamlit:使用 Python 快速开发 Web 应用

一、简单介绍

Streamlit 是一个开源 Python 库,官网地址:

https://streamlit.io/icon-default.png?t=O83Ahttp://StreamlitStreamlit 是一个开源的 Python 框架,旨在为数据科学家和 后端工程师们提供只需几行代码即可创建动态数据应用的功能。

让没有任何前端基础的人,使用 Python 开发 Web 应用,没有复杂的配置,没有复杂的语法,开箱即用,拎包入住。

安装Streamlit

pip install  streamlit 

二、项目案例

1.菜单小工具 

#代码保存文件名为streamlit.py
import streamlit as st
from streamlit_option_menu import option_menu# 设置Streamlit应用程序的标题
st.set_page_config(page_title="app name", layout="wide")menu1="菜单1"
menu2="菜单2"with st.sidebar:menu = option_menu("菜单", [menu1, menu2], icons=['house', "list-task"], menu_icon="cast", default_index=0)def main():if menu == menu1:st.subheader(f"{menu1}")if menu == menu2:st.subheader(f"{menu2}")if __name__ == '__main__':main()

运行方式:在Python编译器Pycharm打开终端,进入到代码的目录下,输入

streamlit run streamlit.py

 接下来会自动跳转到网页上面,或者复制下面的网页地址

2.模拟HTTP请求工具 

#代码保存文件名为streamlit.pyimport requests
import streamlit as st
import datetime
import json# 设置标题栏    
st.set_page_config(page_title="HTTP请求模拟工具", page_icon="🚀")
st.title("HTTP请求模拟工具")st.markdown("""---### 功能点:1. 发送HTTP请求:用户输入请求URL、请求方法和请求头信息,工具对请求进行封装后发送HTTP请求。2. 查看响应结果:工具接收到服务器响应后,将响应结果展示给用户以便于查看。3. 关注请求细节:用户可以查看请求发送的细节信息,包括请求发送时间、请求耗时、请求大小等。---""")
# st.markdown("""
#     # HTTP请求模拟工具
#     ### 功能点:
#     1. 发送HTTP请求:用户输入请求URL、请求方法和请求头信息,工具对请求进行封装后发送HTTP请求。
#     2. 查看响应结果:工具接收到服务器响应后,将响应结果展示给用户以便于查看。
#     3. 关注请求细节:用户可以查看请求发送的细节信息,包括请求发送时间、请求耗时、请求大小等。
#     ---
#     """)url = st.text_input("请输入**请求的URL地址:**",value="https://e.weather.com.cn/p/site/aqifc1h?areaid=101010300")
method = st.selectbox("请求方式", ["GET", "POST", "PUT", "DELETE"])
headers = st.text_input("请求头信息")
if st.button("发送请求"):if headers:try:eval(headers)except  Exception as e:st.error("请求头信息格式有误,请确认输入的是字典格式,例如:{'key1': 'value1', 'key2': 'value2'}")headers ==Noneelse:headers = Nonetry:start_time = datetime.datetime.now()response = requests.request(method=method,url=url, headers=headers,timeout=5)end_time = datetime.datetime.now()time_count= (end_time - start_time).total_seconds()size= len(response.content)st.subheader("请求细节:")st.write(f"请求方法:{method}")st.write(f"请求URL:{url}")st.write(f"请求头:{headers}")st.write(f"请求发送时间:{start_time}")st.write(f"请求耗时:{time_count}")st.write(f"请求大小:{size} bytes")st.subheader("响应结果:")try:pretty_json = json.loads(response.text)st.json(pretty_json)except:st.text(response.text)# st.write(f"{response.status_code} {response.reason}")
except Exception as e:st.error(f"请求发送失败:{e}")# # 模拟HTTP请求工具
# def main():
#     # 模拟HTTP请求工具
#     st.subheader("模拟HTTP请求工具")
#     # 模拟HTTP请求工具
#     method = st.selectbox("请求方式", ["GET", "POST", "PUT", "DELETE"])
#     url = st.text_input("请求地址")

运行方式:在Python编译器Pycharm打开终端,进入到代码的目录下,输入

streamlit run streamlit.py

 接下来会自动跳转到网页上面,或者复制下面的网页地址

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • <<编码>> 第 16 章 存储器组织(4)--内存 示例电路
  • C++ ——日期类的实现和注释浅解
  • mysql性能优化-SQL 查询优化
  • 12年计算机408考研-计算机网络
  • 解密.bixi、.baxia勒索病毒:如何安全恢复被加密数据
  • 利用AI增强现实开发:基于CoreML的深度学习图像场景识别实战教程
  • 【深度学习】(1)--神经网络
  • 将成功请求的数据 放入apipost接口测试工具,发送给后端后,部分符号丢失
  • Arthas thread(查看当前JVM的线程堆栈信息)
  • Mastering Qt 番外 —— 添加源码调试
  • pg入门18—如何使用pg gis
  • Mybatis中sql数组为空判断
  • 3款免费的GPT类工具
  • vscode软件在 C发中常用插件
  • 【工具】Windows|两款开源桌面窗口管理小工具Deskpins和WindowTop
  • 08.Android之View事件问题
  • CentOS 7 防火墙操作
  • css的样式优先级
  • Docker容器管理
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • jquery cookie
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • WinRAR存在严重的安全漏洞影响5亿用户
  • zookeeper系列(七)实战分布式命名服务
  • 机器学习中为什么要做归一化normalization
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前端相关框架总和
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 温故知新之javascript面向对象
  • HanLP分词命名实体提取详解
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (day 12)JavaScript学习笔记(数组3)
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (力扣题库)跳跃游戏II(c++)
  • (四)opengl函数加载和错误处理
  • **CI中自动类加载的用法总结
  • .gitignore文件使用
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET DataGridView数据绑定说明
  • .Net Winform开发笔记(一)
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .NET6实现破解Modbus poll点表配置文件
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • @Controller和@RestController的区别?
  • @PreAuthorize与@Secured注解的区别是什么?
  • @取消转义
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians
  • [4.9福建四校联考]
  • [ABC275A] Find Takahashi 题解
  • [Algorithm][动态规划][两个数组的DP][正则表达式匹配][交错字符串][两个字符串的最小ASCII删除和][最长重复子数组]详细讲解