首页
学习
活动
专区
圈层
工具
发布

2020年是时候更新你的技术武器库了:Asgi vs Wsgi(FastAPI vs Flask)

:python3 manage.py     FastAPI:uvicorn manage:app --reload     同时一时间内,开启多个浏览器,分别并发请求首页 。    ...    可以看到,同样的四次请求,Flask先是阻塞了40秒,然后依次返回结果,FastAPI则是第一次阻塞后直接返回,这代表了在FastAPI中阻塞了一个事件队列,证明FastAPI是异步框架,而在...Flask中,请求可能是在新线程中运行的。...将所有CPU绑定的任务移到单独的进程中,所以在FastAPI的例子中,只是在事件循环中sleep(所以异步框架这里最好不要使用time.sleep而是asyncio.sleep)。...在FastAPI中,异步运行IO绑定的任务。     当然这不能说明太多问题,我们继续使用鼎鼎有名的ApacheBench分别对两款框架进行压测。

1.1K30

在python脚本中执行shell命令的方法

在python脚本中执行shell命令的方法 最近在写python的一些脚本,之前使用python都是在django中使用,可能大部分内容都是偏向于后端开发方面的,最近在写一些脚本的时候,发现了...使用Python处理一个shell命令或者一个执行一个shell脚本,一般情况下,有下面三种方法,下面我们来看: 第一种方法是使用os.system的方法 os.system("cmd") 我们在当前目录下面创建一个...aaa.sql的文件,文件中的内容是aaa,然后我们来看测试过程 1[root@ /data ]$python 2Python 2.7.15 (default, Nov 29 2018, 13:37...命令打印出来aaa.sql中的内容,然后下面出现的数字0代表上述命令执行成功;如果我们打印bbb.sql则返回值是256,表示执行中出现了问题。...第三种方法是使用popen函数 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出 1[root@ /data]$python 2Python

8.4K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python Flask 中的路由

    在 Flask 框架中,提供了 route() 装饰器来实现路由,使用 route() 装饰视图函数,在 route() 中传入该视图函数对应的 API 。...一、Flask 中 route() 的基本使用 使用之前创建好的 FlaskProject 虚拟环境,项目文件名也叫 FlaskProject ,在 FlaskProject 目录下创建一个 flask_route.py...二、在路由中传参 在上面的例子中, route() 中传入的 API 是硬编码“写死”的。...这种方式在 route() 中已经实现了,可以使用 route('') 的方式来传参。 在上面的 flask_route.py 中增加一个视图函数。...三、正则匹配路由 在通过路由传递参数时,可以指定参数的数据类型,在 Flask 中,这种功能是通过转换器来实现的,转换器会按照定义的规则来转换或匹配参数。

    2K30

    【shell脚本】$ 在shell脚本中的使用

    shell脚本中 '$' 与不同的符号搭配其表示的意义也会不同 特殊标志符 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。...例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或函数的所有参数 $?...上个命令的退出状态 $$ 当前Shell进程ID $() 与 `(反引号) 一样用来命令替换使用 ${} 引用变量划分出边界 注释:$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" "...)包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。...但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数

    9.3K20

    基于python,手把手教你搭建Django web网站

    Flask:一个轻量级的 Web 框架,易于上手,适合开发小型项目和微服务。Flask 采用了 “微核” 设计,核心功能有限,但可通过扩展实现更多功能。缺点是可能需要手动集成多个扩展,增加开发难度。...FastAPI 提供了自动 API 文档生成、输入验证等功能。适合开发 API 服务和实时 Web 应用。 以下是个框架的比较细致的对比图,如果你正在做技术选项,可以仔细参考参考。...特性 Django Flask FastAPI 类型 全功能 Web 框架 轻量级 Web 框架 现代 Web 框架 适用项目 大型、复杂项目 小型项目、微服务 API 服务、实时 Web 应用 设计模式...manage.py makemigrations 成功之后,我们会看到项目文件夹下多了一个 sqlite 的数据库 接下来继续执行两个命令 python3.10 manage.py migrate...python3.10 manage.py runserver 打开http://127.0.0.1:8000/ ,就可以看到我们的web应用已经运行起来了,当然因为我们并没有添加样式,所以看起来还是比较基础的

    1.2K50

    Shell-alias在Shell脚本中的使用

    概述 在shell中开启alias 实际操作 概述 众所周知,shell脚本使用的是非交互式方式,在非交互式模式下alias扩展功能默认是关闭的,此时虽然可以定义alias别名,但是shell不会将alias...别名扩展成对应的命令,而是将alias别名本身当作命令执行,如果shell内置命令和PATH中均没有与alias别名同名的命令,则shell会找不到指定的命令。...---- 在shell中开启alias 使用shell内置命令shopt命令来开启alias扩展选项。...默认是打开的,在非交互式模式下是关闭的,但可以用可shopt来将其开启 shopt -s expand_aliases ---- 实际操作 在我们的项目中某个模块的双机启动脚本(root用户下操作),...项目启动中会依赖一些环境变量,所以双机启动脚本中需要显式的引入.bash_profile文件。 所以我们将 开启alias的命令放在 .bash_profile中。

    4K10

    Python Flask 轻量 web 框架

    【前置条件:你已经在windows下搭建好了Pycharm集成开发工具+python3.6的版本及相关的第三方包】 Step1:直接上框架全图 ---- Step2:框架的结构说明 ---- 项目结构...- manage.py 用来控制程序的 python manage.py runserver #启动服务命令 python manage.py shell #进入shell脚本模式命令 -...) - 指令使用 python manage.py db init init 初始化指令,仅可调用一次 python manage.py db migrate migrate指令用于生成迁移文件...Step3:大概的调用逻辑如下说明 App/views.py 文件引入了models.py【模型包中的模型对象】andext.py【拓展包中的db 对象】 App/__init__.py... manage.py 是入口文件,拿到上一步骤中返回的app应用,最后就是启动服务。

    30330

    Flask-Script扩展命令行

    介绍 在Django中启动服务的时候,可以使用python manage.py runserver 或者 python manage.py shell,那么Flask能否也执行该类的扩展命令行呢?...manager = Manager(app) # 通过管理对象来启动flask manager.run() 通过使用Flask-Script扩展,我们可以在Flask服务器启动的时候,通过命令行的方式传入参数...() 使用命令行启动flask 启动Flask应用不仅仅可以通过app.run()方法中传参以及启动,通过flask_script可以通过python hello.py runserver 来启动服务...,如下: 指定IP和端口号命令行启动flask 还可以指定IP和端口号的启动方式,如下: $ python3 09_flask_script.py runserver --help usage: 09...执行flask的交互shell模式 最后再来看看启动交互式的shell,如下: $ python3 09_flask_script.py shell # 导入当前的应用 In [1]: from flask

    40910

    Flask-Script扩展命令行

    介绍 在Django中启动服务的时候,可以使用python manage.py runserver 或者 python manage.py shell,那么Flask能否也执行该类的扩展命令行呢?...manager = Manager(app) # 通过管理对象来启动flask manager.run() 通过使用Flask-Script扩展,我们可以在Flask服务器启动的时候,通过命令行的方式传入参数...() 使用命令行启动flask 启动Flask应用不仅仅可以通过app.run()方法中传参以及启动,通过flask_script可以通过python hello.py runserver 来启动服务,...指定IP和端口号命令行启动flask 还可以指定IP和端口号的启动方式,如下: F:\pythonProject\flask-ex>python3 09_flask_script.py runserver...执行flask的交互shell模式 最后再来看看启动交互式的shell,如下: F:\pythonProject\flask-ex>python3 09_flask_script.py shell #

    1.2K20

    python中的shell操作

    python中的shell操作 首先介绍一个函数: os.system(command) 这个函数可以调用shell运行命令行command并且返回它的返回值。...试一下在python的解释器里输入os.system(”ls -l”),就可以看到”ls”列出了当前目录下的文件。可以说,通过这个函数,python就拥有了shell的所有能力。呵呵。。...因为shell常用的那些命令在python中通常有对应而且同样简洁的写法。...不过,shell的cp命令还可以复制目录,python的shutil.copy却不行,第一个参数只能是一个文件。这怎么办?...因为python没有必要有:-) 2.os.path这个模块里包含了很多关于路径名处理的函数。在shell里路径名处理好像不是很重要,但是在python里经常需要用到。

    1.1K40

    分享 6 个实用的轮子

    最近看到几个非常实用的 Python 库,它们太优秀了,让我忍不住分享,我相信在今后的编程之路上,你有很大的概率会使用它们,请先看一下,在大脑中先留下印象,方便以后拿来使用。...1、快速的异步 web 框架 FastApi FastApi 是一个异步 Web 框架,它的速度非常非常非常快。远远超过 Flask,速度匹敌与 go 语言写的接口。...官方链接(star 8.5k):https://github.com/tiangolo/fastapi 其他 Python 的 web 框架: 1、Django 2、Django rest framework...3、Flask 4、Tornado 5、Bottle 6、Quixote 2、提升代码速度的装饰器 lru_cache 看名字就知道是 LRU 相关,也与缓存相关。.../src 6、在 Python 中执行 shell 命令 也许你非常熟悉 shell 命令,正在学习 Python,如何在 Python 中执行 shell 命令呢,相信这个 sh 库会非常有用。

    63120
    领券