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"  ...

阅读全文

python类特殊方法__getitem__的作用

在python的类中定义了特殊方法__getitem__,那么这个类在创建实例时,可以通过下标来取值当从对象的下标取值时,会调用类中的方法__getitem__下面我们来上一个例子class TestFunc:    def __init__(self, ip, port):        self.ip = ip    &n...

阅读全文

flask中使用sqlite的方式

Flask官网的sqlite例子可以查看这里http://www.pythondoc.com/flask/patterns/sqlite3.html,我这里根据我项目的实际情况是这样写的我的入口文件manager.pyfrom flask import Flask,current_app,gfrom app.application import create_appapp = create_app()@app.teardown_requestdef ...

阅读全文

python中easydict模块的使用方法

最近经常看人家的代码,看到easydict这个模块,然后百度了下,发现这个模块就是将字典转成对象,然后调用的时候可以直接使用链式的方式使用,感觉谈不上方便,我自己写python可能基本用不上这个模块,然而,我们还是来看看这个模块的用法吧首先这个模块不是内置模块,需要安装下pip easydict然后网上淘了一个例子,我自己稍微修改了下,一下把他的功能特性都能展示出来,看下就明白这个是个啥东西from easydict import EasyDict as edictimport j...

阅读全文

python进度条模块tqdm的用法

我们经常看到linux各种程序中的执行进度条,非常直观,python中也有类似模块tqdmtqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的CPU资源非常少,支持windows、Linux、mac等系统,支持循环处理、多进程、递归处理、还可以结合linux的命令来查看处理情况,等进度展示我们首先进行安装pip install tqdm然后上些简单的例子from tqdm import tqdmimport time for i in...

阅读全文

flask加载配置的几种方法

其实flask配置本质上就是一个字典,这些配置变量都通过Flask对象的app.config属性作为统一的接口来设置和获取,它指向的Config类实际上是字典的的子类注意:配置的名称必须是全大写形式,小写的变量将不会被读取flask加载配置有以下几种方式1.直接配置我们可以直接通过app.config["KEY"]=value的方式来配置配置文件然后获取的方式可以通过app.config.get("KEY")#或者app.config["key"]如果使用update方法可以一次配置...

阅读全文

python中pathlib模块的使用方法

pathlib相对于os模块中的path更简洁,同时这个模块也是python内置模块,我们可以直接使用,下面我们来看看使用方法,使用起来也很简单#!/usr/bin/env python3#coding:utf-8from pathlib import Pathwork_dir = r'D:\\cmder\\Cmder.exe'p = Path(work_dir)print(p.name)print(p.stem)print(p...

阅读全文