python协程库asyncio的基本用法

asyncio库是python实现异步任务的库,在python3.4引入,在3.5和3.7分别都有一些改进和用法的改变协程本质就是一种用户态的上下文切换技术,我们创建事件循环,然后将我们的任务丢入到这个事件循环中就实现了任务的异步IO本地环境python3.9,所以例子可能无法在python3.8以下环境跑通,咱们也不再回头学习低版本python中的写法了。首先我们要了解几个关键字的含义async:用来声明一个函数为异步函数,异步函数的特点是函数能在执行的过程中挂起,去执行其他的异步函数,等到挂起条件消失后,再回来执行后续代码。await:await会把...

阅读全文

python k8s api操作类

网上找了零散的,然后看了k8s的pythonapi,里面很有方法,大致整理了一下操作的封装,很多操作返回都有to_dict()方法可以直接将返回的对象转为字典,之前没注意,后面懒得改了,写的比较乱,直接记录下来方便以后使用。#!/usr/bin/python3#coding:utf-8__author__ = 'yang.su'from kubernetes import client, configfrom app.common impo...

阅读全文

python获取每月第一天和最后一天

python获取每月第一天和最后一天主要使用了datetime模块,其中datetime模块定义了5个类,如下:datetime.date:表示日期的类,常用的属性有year, month, daydatetime.datetime:表示日期时间的类,常用的属性有hour, minute, second, microseconddatetime.time:表示时间的类datetime.timedelta:表示时间间隔,即两个时间点的间隔。在日期上做天days,小时hour,分钟,秒,毫秒,微秒...

阅读全文

pyecharts使用方法和常用图表示例

pyecharts是echarts的python版本,主要使用数据来渲染各类图标数据,可以展示成折线图、柱状图、饼图等等各类图表,用来做数据展示用。原来使用的过echarts,但是现在很少接触前端的东西了,所以就直接使用pyecharts直接生成静态页面,不用再单独去撰写前端代码。如果感兴趣可以看看我之前echarts的笔记:https://sulao.cn/post/558.html,然后pyecharts相关使用方法可以查看这个网站:https://pyecharts.org/#/使用pyecharts我们先需要安装pip install&...

阅读全文

pynvml模块使用方法

最近有需要使用nvml调用底层显卡信息的需求,所以查了下python有相关的模块pynvml可以使用,下面就直接看看一些基本使用的方法首先我们安装这个模块pip install nvidia-ml-py3然后使用时我们需要初始化该方法import pynvmlpynvml.nvmlInit()使用外以后也需要进行关闭,类似于析构方法pynvml.nvmlShutdown()然后下面是收集的一些常用方法模块#!/usr/bin/python3#pip install nvidia-ml-py3i...

阅读全文

harbor仓库接口python操作类

harbor之前的部署配置和介绍可以查看我之前的笔记,这里整理出了一个harbor仓库的操作类,以后可以直接用的上。#!/usr/bin/python3#coding:utf-8import requestsimport jsonclass Hub(object):    def __init__(self, host, port, username, passwd):   &n...

阅读全文

opencv读取图片时报错libpng error的解决方法

最近遇到了在使用opencv读取图片的时候报错报错libpngerror:ReadError然后我将图片下载下来,直接双击打开发现该图片已经损坏,那么我尝试在我的代码中添加try...except进行异常的捕获,发现try...except不能捕获该错误import cv2try:    x = cv2.imread("16594318572323.png", -1)    print(x)ex...

阅读全文

flask在before_request中添加特定路由到例外(拦截器)

标题可能描述的不太清理,就是例如我在before_request中检测用户登录状态,当用户没有登录就转向/login登录页面,但是这里就有一个问题,当/login登录跳转的页面也会触发before_request,这个时候还没完成登录动作,session也没保存,当然就不是登录状态,所以又转向了/login登录页面,从而造成了死循环,那么我们就需要在before_request请求的方法中添加一些这种特定的路由,对他们进行放行示例代码如下@app.before_requestdef verify_login():  ...

阅读全文

pip下载whl包到本地(离线安装)

最近经常遇到pip安装包非常慢的情况,之前加-i参数来临时更换下载源,pip之前的笔记可以查看这里https://sulao.cn/post/584.html,但是这次情况是下载torch,更换了pip源以后提示什么证书验证的警告,下载依然很慢,所以尝试在其他的机器上来下载whl包,然后拷贝到要安装的机器上例如我下载torch可以用如下方法,可以将torch和依赖的包全部下载到本地pip3 download torch==1.8.2 torchvision==0.9.2 torchaudio==0.8.2 ...

阅读全文

python类特殊方法__setitem__的作用

在python的类中定义了特殊方法__setitem__,这个方法与之对应是之前咱们学习的__getitem__方法,具体的可以查看这里的笔记https://sulao.cn/post/862.html,一个是用key的方式获取,一个是用key的方式来设置对象的值为新值,注意,设置的对象应该是存在,当然这个对象可变时才需要实现这个方法我们还是直接使用上次的例子修改下class TestFunc:    ip = "127.0.0.1"  ...

阅读全文