asyncio 概念和用法


声明:本文针对的是python3.4以后的版本的,因为从3.4开始才引入asyncio,后面的3.5 3.6 3.7版本是向前兼容的,只不过语法上面有稍微的改变。比如在3.4版本中使用@asyncio.coroutine装饰器和yield from语句,但是在3.5以后的版本中使用async、await两个关键字代替,虽然语法上稍微有所差异,但是原理是一样的。本文用最通俗的语言解释了python

Python Docker 镜像的选择


问题:Python Docker 镜像的种类比较多,以3.6.15版本为例就有10个选择。那具体应该如何选?版本区别:通过python Tags | Docker Hub查看信息,整理后如下表(以linux/386系统为例):TAGOS/ARCHCOMPRESSED SIZEpython:3.6.15-slim-busterlinux/38640.89 MBpython:3.6.15-slim-b

Python的hasattr() getattr() setattr() 函数用法


hasattr() hasattr() 函数用来判断某个类实例对象是否包含指定名称的属性或方法。 该函数的语法格式如下: hasattr(obj, name) 其中 obj 指的是某个类的实例对象,name 表示指定的属性名或方法名,返回BOOL值,有name属性返回True, 否则返回False

yaml格式的字符串多行


yaml 文件中多行字符串可以使用|保留换行符,或者使用>将换行符替换为空格。其中,这两个换行符有以下几种用法: |:文中自动换行,默认仅保留一行空行 |+:文中自动换行,保留字符串后面所有的空行 |-:文中自动换行,删除字符串后面所有的空行 >:文中不自动换行,默认仅保留一行空行 >+:文中不自动

搭建 adslproxy 代理池


adslproxy 代理池原理:本文采用 redis 做代理IP的存储。存储代理IP前,先使用 adslproxy 做重新拨号和代理IP可用性校验,可用后再保存到 redis 里。在进行重新拨号前,先删除这个原来保存的代理 IP,然后再重新进行拨号操作。然后使用的 adslproxy 搭建一个提取代理 IP 的工具,通过一个 web 接口给客户端使用的时候。客户端用的时候,直接读取这个 web 接

用 python:alpine 应用容器制作 selenium+chromium 的 docker 镜像,并设置中文支持


部署使用 python:3.8.8-alpine3.13 的应用镜像,制作 selenium+chromium 的 docker 镜像,并设置中文支持。DockerFile 内容如下:FROM python:3.8.8-alpine3.13 AS buildRUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc

python elasticsearch 提示 ‘update‘ API and will be removed


环境:Elasticsearch 版本:7.10.1elasticsearch-analysis-ik 版本:7.10.1Elasticsearch 操作的 Python 库版本:7.16.1问题:python 的 elasticsearch 模块在执行 update、search、index 等方法的时候 提示:提示 DeprecationWarning: The ‘body’ paramete