使用Pymongo操作MongoDB集群

之前我们记录过使用pymongo模块操作mongodb数据库,但是操作mongodb集群的话连接配置有一些差异。连接mongodb集群需要使用下面的配置方式连接client = MongoClient('mongodb://root:123456@mongodb-0.mongodb-headless.namespace:27017,mongodb-1.mongodb-headless.namespace:27017,mongodb-2.mongodb-headless.namespace:27017')还可以设置读取的...

阅读全文

python中UUID模块解析

UUID(全称为UniversallyUniqueIDentifier)是128位的全局唯一标识符。UUID是一个128比特的数值,这个数值可以通过一定的算法计算出来。为了提高效率,常用的UUID可缩短至16位。保证在一定的空间和时间上的唯一性,通常定义用来做唯一标识对象。UUID通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性,目前一共有五种算法,分别是uuid1,uuid2,uuid3,uuid4,uuid5,其中python中没有基于DCE的,所以在python中uuid2算法可以忽略。uuid1基于时间戳由MAC地址...

阅读全文

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():  ...

阅读全文