FarryNiu
farry
展开
-
解决pyinstaller exe报错:ModuleNotFoundError: No module named ‘pkg_resources.py2_warn‘
成功解决错误where python进入到安装目录中,找到安装目录下的Lib\site-packages\pkg_resources\ __init__.py打开__init__.py,定位至86行,注释掉,保存使用pyinstaller重新对py文件进行exe打包,再次打开exe时程序正常运行,错误消失。...原创 2020-08-06 16:01:04 · 2122 阅读 · 0 评论 -
解决pyinstaller报错:RecursionError: maximum recursion depth exceeded while calling a Python object
成功解决报错pyinstaller -F xxx.py报错后,找到当前目录下的xxx.spec,在此文件开头添加import syssys.setrecursionlimit(10000)执行命令pyinstaller -F xxx.spec原创 2020-08-06 15:38:45 · 1814 阅读 · 0 评论 -
python实现自动换桌面壁纸恶搞程序【带源码】--------- 2.程序调试和打包
工程原创 2022-09-25 17:29:39 · 451 阅读 · 0 评论 -
Python使用opencv轮廓提取的实现和优化【一】简单实现
python使用opencv提取图像轮廓的简单实现原创 2022-07-05 01:06:20 · 1061 阅读 · 0 评论 -
python小数取整
方法int(1.1)原创 2021-03-30 18:37:55 · 884 阅读 · 0 评论 -
python使用nonlocal调用上层嵌套函数的局部变量
nonlocal声明变量,声明此变量为上层嵌套函数内的局部变量def funMain(): def funIn(): nonlocal c c += 1 c = 0 funIn()funMain()在此嵌套函数中,内部函数funIn使用nonlocal声明使用funMain的变量c,所以可以直接对c操作,如果不加此声明,则会报未定义就引用的错误...原创 2021-03-30 18:16:45 · 282 阅读 · 0 评论 -
python标准输入、标准输出
标准输入、标准输出是一种输入输出规范,在python中直接调用相关函数即可标准输入读一行 context = sys.stdin.readline()读全部 context = sys.stdin.readlines()重定向(以文本为例)inputFile = open('test.txt','r')sys.stdin = inputFilecontext = sys.stdin.read()标准输出输出一行 sys.stdout.write(context)...原创 2021-03-30 18:09:41 · 455 阅读 · 0 评论 -
解决numba报错警告:No implementation of function Function found for signature
问题原本使用numba对一个函数进行加速,此函数是在类外部,而且只有numpy基本运算@jit(nopython=True)def stereographicF(img):但是当带有nopython=True时,程序会报错,去掉后会有警告,并且加速效果不明显,报错如下:numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)No implementation of func原创 2021-03-20 17:37:33 · 6281 阅读 · 2 评论 -
Python向json文件中追加内容
效果原json串:追加后:方法 pos = {"x":posx,"y":posy,"lat":lat,"lng":lng} with open('test.json',"a") as f: f.write(json.dumps(pos))原创 2021-01-04 16:56:19 · 2268 阅读 · 1 评论 -
Python单线程、多线程、多进程运行效率评测对比
实测python程序在单线程、多线程、多进程下的运行速度对比。原创 2020-12-04 16:53:58 · 1279 阅读 · 1 评论 -
解决Python写txt等文件时内容为空
原因没有正确的打开、关闭文件,只使用了open,没有使用close;或者虽然程序中写了close,但有时会在open阶段发生异常,异常抛出后或者在异常处理中最终并没有执行close,导致文件内容为空。解决使用with open as f:这个语句底层封装了对文件的关闭、异常处理,不需要自己写close和异常处理,而且能够保证文件一定能够正常关闭。with open('test.txt','w') as f: f.write('123')...原创 2020-12-04 15:18:43 · 5930 阅读 · 0 评论 -
python多进程示例
示例定义函数something,在主进程中开启多进程,传入arg1、arg2开启进程import multiprocessingdef something(arg1,arg2): print(arg1,arg2)if __name__ == '__main__': process = multiprocessing.Process(target=something, args=(arg1,arg2,)) process.start()...原创 2020-12-04 14:29:01 · 86 阅读 · 0 评论 -
Python获取进程id、杀死指定id进程
获取当前进程id返回字符串类型的pid os.getpid()杀死指定进程os.system('taskkill /f /pid %s' % '此处填入字符串型进程id')原创 2020-12-02 16:07:05 · 2659 阅读 · 0 评论 -
opencv-python报错:Assertion failed (_queryDescriptors.type() == trainDescType) in cv::BFMatcher::knnMa
错误OpenCV(3.4.1) Error: Assertion failed (_queryDescriptors.type() == trainDescType) in cv::BFMatcher::knnMatchImpl, file C:\projects\opencv-python\opencv\modules\features2d\src\matchers.cpp, line 744Traceback (most recent call last):cv2.error: OpenCV(3.原创 2020-11-27 11:25:50 · 1945 阅读 · 1 评论 -
解决opencv-python报错:warning: Error opening file (...modules/videoio/src/cap_ffmpeg_impl.hpp:834)
原因拉流地址有误解决确认拉流地址是否有误将地址用引号包围,若地址中符号较多缺没有被引号包围,同样会报错原创 2020-11-26 18:56:56 · 5694 阅读 · 2 评论 -
解决jupyter notebook启动报错:ImportError: DLL load failed while importing _ssl: 找不到指定的模块。
原因没有完全将anaconda的环境变量配置到位,遗漏了\Anaconda3\Library\bin解决cmd后,在打开jupyter notebook前,先键入activate,然后再打开jupyter notebook,即可成功打开如果不想键入activate指令,则将anaconda安装目录下的==…\Anaconda3\Library\bin==添加到环境变量中...原创 2020-11-24 22:16:35 · 14483 阅读 · 18 评论 -
python实现对图像的平移、旋转、镜像、拉伸、缩放
方法import cv2import pandas as pdimport numpy as npclass DataAugment: def __init__(self,debug=False): self.debug=debug def basic_matrix(self,translation): """基础变换矩阵""" return np.array([[1,0,translation[0]],[0,1,translation原创 2020-11-20 15:40:06 · 3861 阅读 · 1 评论 -
python实现对图像数据的增广(平移、旋转、镜像、拉伸、缩放、亮度、高斯噪声、椒盐噪声、高斯模糊)
方法亮度:https://niuzifan.blog.csdn.net/article/details/109849066高斯噪声:https://niuzifan.blog.csdn.net/article/details/109849842椒盐噪声:https://niuzifan.blog.csdn.net/article/details/109849470高斯模糊:https://niuzifan.blog.csdn.net/article/details/109850100...原创 2020-11-20 15:28:28 · 3420 阅读 · 0 评论 -
使用python实现对图片的高斯模糊
方法import cv2src = cv2.imread('test.jpg')#第二个参数:高斯核的宽和高(建议是奇数)#第三个参数:x和y轴的标准差result=cv.GaussianBlur(src,(45,45),15)cv2.imwrite('result.jpg',result)效果原创 2020-11-20 15:13:22 · 1979 阅读 · 0 评论 -
使用python实现向图片添加高斯噪声
方法import cv2import numpy as np# sigma控制高斯噪声的比例def noiseGauss(img,sigma): temp_img = np.float64(np.copy(img)) h = temp_img.shape[0] w = temp_img.shape[1] noise = np.random.randn(h,w) * sigma noisy_img = np.zeros(temp_img.shape, np.float64) if len(原创 2020-11-20 15:09:42 · 4825 阅读 · 5 评论 -
使用python实现向图片添加椒盐噪声
方法import randomimport cv2import numpy as np''' 添加椒盐噪声 :param img: 原始图片 :param prob: 噪声比例 :return: resultImg '''def noiseSP(img, prob): resultImg = np.zeros(img.shape, np.uint8) thres = 1 - prob for i in range(img.shape[原创 2020-11-20 15:03:04 · 2321 阅读 · 1 评论 -
使用opencv-python调整图片亮度
方法给每个像素点的三个通道加减一个值import cv2import numpy as npdef imgBrightness(img1, c, b): rows, cols, channels = img1.shape blank = np.zeros([rows, cols, channels], img1.dtype) rst = cv2.addWeighted(img1, c, blank, 1-c, b) return rstimg = cv2.imre原创 2020-11-20 14:53:02 · 8942 阅读 · 3 评论 -
python实现一系列数据写入csv后按原格式读取
示例参数:a = 1b = 2c = 3d = [(10,20),(30,40)]写入csv:args = [a,b,c,d]argesCsv = pd.DataFrame(data = args)argesCsv.to_csv('test.csv',index=False)读取还原:args = []for i in np.array(pd.read_csv('test.csv')).tolist(): args.append(eval(i[0]))此时args中数原创 2020-11-13 12:27:20 · 290 阅读 · 0 评论 -
Python操作
索引创建文件夹创建文件夹import os os.mkdir(path)原创 2020-11-12 19:40:40 · 63 阅读 · 0 评论 -
python实现.py的带参数启动
示例方法sys中的argv保存了启动时的输入参数,其中argv[0]为运行的文件名,输入参数从argv[1]开始import sysa = sys.argv[1]b = sys.argv[2]print(a,b)print(str(int(a)+int(b)))原创 2020-11-12 15:55:52 · 2192 阅读 · 0 评论 -
python的不可变数据类型和可变数据类型的区别详解
不可变数据类型和可变数据类型的区别不可变数据类型不可变数据类型immutable:一般为基本数据类型,仅存储一个数值的数据类型,元组例外,如 int、long、float、string、元组,当创建一个变量时,变量内存储了指向值的地址,该地址处的值不会发生改变,当对变量重新赋值时,实际上是变量内的地址发生了改变。例如创建a = 1,a内存储的地址指向1,令b = a,b中存储和a相同的地址。当重新赋值a = 0,a内存储的地址发生变化指向0,而b的地址不变所以值依然为1:可变数据类型可变原创 2020-11-11 15:42:46 · 400 阅读 · 1 评论 -
Python遍历列表中元组某位置的元素
方法遍历list中元组的第n位置处的元素for i in range(0,len(list)): list[i][n]例遍历num[(1,2),(3,4),(5,6)]列表中元组的第二个位置处的元素2、4、6num = [(1,2),(3,4),(5,6)] for i in range(0,len(num)): print(num[i][1])...原创 2020-11-10 15:52:00 · 1802 阅读 · 0 评论 -
解决opencv python报错:error: (-215) depth == 0 || depth == 2 || depth == 5 in function cv::cvtColor
原因在做图像色彩转变时的输入数据格式有问题解决检查发现输入的image忘记定义数据类型,将image数组的数据类型定义为uint8即可:image = np.zeros((100,100,3),dtype='uint8')原创 2020-08-28 17:23:22 · 1665 阅读 · 0 评论 -
解决OpenCV报错drawing.cpp:2407: error: (-215) p.checkVector(2, 4) >= 0 in function cv::fillPoly
原因fillPoly()输入数据格式错误解决fillPoly()的输入的多边形点集需要保存在list中,例如cv2.fillPoly(img, area, (255, 255, 255))报错,则修改为cv2.fillPoly(img, [area], (255, 255, 255))即可原创 2020-08-28 15:12:00 · 1575 阅读 · 0 评论 -
Python对文件进行重命名
方法import osos.rename(old,new)原创 2020-08-25 22:43:03 · 468 阅读 · 0 评论 -
Python实现求中位数
方法使用python的内置方法list.sorted()对序列进行排序取中位数实现设数据为test:#作者:FarryNiutest = [5,5,6,4,5,4,7,1,10,2,11,10,10]#对test进行升序排列print(sorted(test))#偶数if len(test)%2 == 0: mid = (sorted(test)[int(len(test)/2)] + sorted(test)[int(len(test)/2)+1])/2#奇数else:原创 2020-08-25 16:22:35 · 16211 阅读 · 1 评论 -
解决tqdm进度条显示多行
原因在一个迭代过程中,如果迭代未完成就被中断,随后也没有从断点继续把剩余迭代完成,就会残存一个未能完成但参与显示的进度条,从而导致多行输出解决重启jupyter notebook,销毁所有对象即可。或采用创建对象的方式使用tqdm,并且在迭代中断时使用close()方法手动销毁未完成的进度条,如:from tqdm import tqdm#创建tqdm对象t = tqdm(range(0,1000000))#迭代for i in t: pass当上述迭代发生中断后,执行t.close原创 2020-08-22 21:30:25 · 7686 阅读 · 0 评论 -
python进度条库tqdm的使用方法
安装pip install tqdm使用对于一个可迭代的数据类型a,可直接在遍历迭代时使用tqdm(a),如:from tqdm import tqdmfor i in tqdm(range(0,100)): pass详解tqdm可以创建对象使用,也可以直接使用,但是即使是创建对象,受其中一些静态属性的影响,当进度条对象被打断未能正常关闭时,马上重新创建对象会使随后的进度条不能实时更新输出,从而打印多行。常见问题进度条不能单条实时更新,打印多行,解决:...原创 2020-08-22 21:19:38 · 759 阅读 · 0 评论 -
python标准库wave的使用说明
目录功能使用1.打开wav类型文件2.读取wav音频信息读取示例3.写wav文件功能可读、写wav类型的音频文件。使用1.打开wav类型文件wave.open(file, mode=None),file为文件地址,mode为打开模式,调用后返回一个Wave_read Objects或Wave_write Objects:mode = ‘rb’ 只读 ,mode = ‘wb’ 只写,缺省时可读写通常用在with语句中,当with语句结束时,将自动执行Wave_read.close() or W原创 2020-08-21 16:59:38 · 4923 阅读 · 0 评论 -
解决Python报错:URLError: <urlopen error [Errno 11004] getaddrinfo failed>
原因获取地址信息失败,通常是由于自动选择的DNS服务器不行解决方法更换DNS服务器控制面板(win+R+control) -> 网络和Internet2. 打开网络共享中心3. 打开当前连接的网络,以wifi为例4. 打开属性5. 打开Internet协议版本46. 选择使用特定DNS服务器地址,并设置为114.114.114.1148. 设置完成后,错误解决......原创 2020-08-09 23:48:32 · 30273 阅读 · 47 评论 -
成功解决local variable ‘xxx‘ referenced before assignment
原因在内层结构中使用了外层变量,如i = 0 #外层结构def do(): #内层结构 i = i + 1 #直接使用会报错解决在内层结构中,如果要使用外层变量,需要先用global修饰:i = 0def do(): global i i = i + 1...原创 2020-08-07 23:49:39 · 2279 阅读 · 0 评论 -
Python字符串删除、截取,删除某个字符、片段
各种字符串删除操作删除字符串某一片段删除、替换指定字符删除字符串某一片段使用字符串切片,如:str1 = '1abcd.txt'str2 = str1[1:-4]print(str2)Out : 'abcd'索引[x,y],当某一项为0时,可以省略不写索引[x,y],当某一项为负数时,代表倒数索引删除、替换指定字符使用replace(),如:删除:replace('指定字符',''),是通过将指定字符替换为空实现的str1 = 'abkcd'str2 = str1.replac原创 2020-08-07 17:37:17 · 25005 阅读 · 0 评论 -
Python读取并处理输出Excel表格(xlsx、xls表格)时,保持原格式不变
在使用pandas读取excel表格时,无法读取表格格式,因此经过处理的数据无法按原格式输出,而使用xlwt库可以解决此问题。需要的库xlrd:读取Excel文件数据xlwt:配置输出xlutils:复制原数据和原格式完整代码和释义#Author:N's Fan#location:import xlrdimport xlwtimport xlutils#参数说明:path:读取文件路径 formatting_info=True:保留格式fileAll = xlrd.open_wo原创 2020-08-07 00:31:30 · 9190 阅读 · 0 评论 -
python金额数字转大写完整代码
函数功能:将小写阿拉伯数字转换为大写,如:13501.52 -> 壹万叁仟零壹元伍角贰分1500 -> 壹千伍佰元整限制:数字小于100万完整代码#Author:N'sFan#Date:2020/8/6 24:00def numToBig(num): dict1 = {1:'壹',2:'贰',3:'叁',4:'肆',5:'伍',6:'陆',7:'柒',8:'捌',9:'玖',0:'零'} dict2 = {2:'拾',3:'佰',4:'仟',5:'万原创 2020-08-07 00:01:31 · 4284 阅读 · 0 评论 -
成功解决pyinstaller打包python后的exe太大
成功解决错误原创 2020-08-06 22:25:44 · 1808 阅读 · 2 评论