Python
文章平均质量分 66
我是一个对称矩阵
这个作者很懒,什么都没留下…
展开
-
python中的线程并行
现在有1154张图片需要顺时针旋转后保存到本地,一般使用循环1154次处理,具体代码如下所示,img_paths中存储1154个图片路径,该代码段耗时约用97ms。对于这种没有数据交换的任务,可以使用多线程。python中有很多多线程、多进程的库,这里试试线程池ThreadPoolExecutor。可以看到,15个cpu都被调用起来了。下方的代码耗时约37ms。原创 2024-05-25 09:41:43 · 600 阅读 · 0 评论 -
python性能分析--cProfile库
0. 简介运行python 时,有时候我们想要分析代码中各部分的耗时,cProfile库则是帮助你分析各部分耗时等性能的库1. 一个例子cProfile.run("main()","result") # 结果保存在resultzhongp = pstats.Stats("result")p.strip_dirs().sort_stats(-1).print_stats()python模块-cProfile和line_profiler(性能分析器)......原创 2022-08-27 15:52:45 · 843 阅读 · 0 评论 -
python发送邮件
在某些是否我们脚本能发送消息,比如监控电脑性能,满足条件后发送短信或者邮箱通知我们,但是短信门槛高且有费用,所以邮箱更方便原创 2022-07-28 13:50:25 · 19332 阅读 · 12 评论 -
python之print的妙用
可以看到print有file参数,是可以将print的内容直接写入txt的。原创 2022-07-26 08:53:01 · 211 阅读 · 0 评论 -
MQTT简要使用教程(python)
MQTT使用简答,对于微小数据的传输很方便,但是需要连接到Internet才行,因为需要连接到一个公共Borker,当然你也可以自己创建一个Broker。对于Publish和Subscribe谁先运行其实无所谓,因为Publish是发送,而Subscribe是在等待谁往订阅的Topic发送信息。如何在Python中使用MQTTmqtt协议------paho-mqtt协议文档httpshttps。...原创 2022-07-17 21:57:03 · 9918 阅读 · 2 评论 -
python之getattr()函数和importlib库的使用
之所以使用到getattr()函数,因为我有一个需求,希望通过字符串指定使用某一个函数或者类。原创 2022-07-03 21:48:06 · 1867 阅读 · 0 评论 -
python之*的用法
参考:Python中的*(星号)和**(双星号)完全详解*在函数中主要集中在参数这个部分,既可以在定义函数的参数时用,也可以在调用函数的参数用。原创 2022-07-03 20:17:41 · 3675 阅读 · 0 评论 -
(三)C++结构体与python的传输
在(一)python调用c++代码《从C++共享链接库编译到python调用指南》(二)ndarray(Python)与Mat(C++)数据的传输两篇文章中,我们已经讲解了python中如何调用有复杂依赖关系的C++代码,以及ndarray和Mat类型在两个语言之间的传入(主要针对python中opencv图像和c++中opencv图像数据传输)。本文考虑到C++结构体也是常见数据,所以特记录一篇.上述代码因为不存在依赖关系,所以可以直接使用编译成共享链接库python代码主要完成调用函数,接收返回原创 2022-06-28 10:46:15 · 2484 阅读 · 0 评论 -
(二)ndarray(Python)与Mat(C++)数据的传输
python中opencv的图像数据是ndarray格式,C++中opencv的图像数据是Mat格式,在C++中定义的test函数入参是Mat数据,在python中调用是不能直接将ndarray数据作为test函数的参数。原创 2022-06-28 10:19:31 · 2436 阅读 · 1 评论 -
(一)python调用c++代码《从C++共享链接库编译到python调用指南》
对于某些时候,我们希望能在python中调用c++代码,或许是为了追求速度,或许是为了调用现成的c++代码。网上也有很多相关方面的教程,但他们的c++代码仅仅为一个函数或者一个类,情况比较简单。我找到了一个不错的c++项目,但是我没有能力用python重写,所以我将c++中的main函数写成一个类,并希望导出为共享链接库(.so文件),在python中调用。我的难点在于我希望导出的这个类,使用了第三方库OpenCV,以及这个类还使用了其他的类,情况一下就复杂了。实际上这也符合真实情况,如果我只想调用c++实原创 2022-06-27 15:59:57 · 2816 阅读 · 3 评论 -
python之__name__的妙用
引用:python中 “name” 详解1、一个示例# draft.pydef getInfo(a, b): print("__name__:",__name__) print(a + b)if __name__ == '__main__': getInfo(2, 3)# test.pyfrom draft import getInfogetInfo(6,7)运行draft.py,输出:__name__: __main__5运行test.py,输出原创 2022-05-25 15:26:01 · 148 阅读 · 0 评论 -
python-logging的使用
1、定义Logger类(对logging进行封装)2、如何使用?在python中,我们通常用print来打印一些信息,但是当程序停止后,在终端打印的信息也消失了,如果我们想将程序运行过程中的一些调试信息保存下来,logging是个不错的选择。logging可以将终端打印的信息全部保存在一个txt文件中,即使在程序停止后也方便我们查看。1、定义Logger类(对logging进行封装)实际上就是将logging类再次封装一下(当然你也可以直接使用),对于logging不再赘述,可以百度“python .原创 2022-05-18 20:47:33 · 462 阅读 · 1 评论 -
python之dir函数
当我们对类操作时,忘记了其某个方法的写法,又不想使用上网查这样繁琐的方法,那么dir()函数是一个不错的选择原创 2022-04-18 15:11:37 · 12807 阅读 · 1 评论 -
Python之装饰器
1、定义2、内置的@abstractmethod主要记录下遇到了装饰器,然后记录一下,毕竟装饰器太多了,还有很多自定义的。1、定义python的装饰器@的作用是为了给现有的函数增加额外的功能,比如def log(func): print("程序开始了") func() print("程序结束了")@logdef add1to1000(): sumv = 0 for i in range(10001): sumv += i pri.原创 2022-04-15 20:11:48 · 225 阅读 · 0 评论 -
python之异常处理
1、基本格式2、总结1、基本格式try: ... ... ...except 异常类型1[as reason]: ... print(str(reason)) #打印具体的异常类型,reason只是一个储存的变量except (异常类型2,异常类型3): ... except: ... #最优先异常处理,无视前面except的处理finally: ... #最终都会被执行的部分,用于例如用户打开文件后未保存抛出.原创 2022-04-15 20:11:24 · 139 阅读 · 0 评论 -
Python之else的妙用
0、首先else在与if的搭配中,我们已经很清楚的了解其用法,实际上python中的else还可以与while和try搭配1、示例一:else与while搭配num = 7 # 求num的最大公约数,否则输出是素数factor = num // 2while factor > 1: if num % factor == 0: print('最大约数是%d' % factor) break factor -= 1 # 倒序遍历寻找因子els原创 2022-04-15 13:25:37 · 172 阅读 · 0 评论 -
python之文件操作File
1、完整格式2、file的方法3、mode参数1、完整格式open(file_path, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)参数说明:file: 必需,文件路径(相对或者绝对路径)。mode: 可选,文件打开模式buffering: 设置缓冲encoding: 一般使用u.原创 2022-04-14 14:44:08 · 709 阅读 · 1 评论 -
python:base64与图片的互转
1. 图片文件转base642. base64转图片(保存为文件)一个前提,base64以二进制数据存储,所以在下方的代码中,特别是使用open()来读写文件时,都使用了’b’模式;通常一个令人抓狂的问题就是二进制和字符串的问题导致无法正常解码出图片一个小技巧就是当解码(base64转图片)失败时,看看待解码的数据是否为“bytes”类型(“str”会导致解码失败)1. 图片文件转base64with open(img_path,'rb') as f: image_base64 = .原创 2022-01-19 14:28:19 · 609303 阅读 · 0 评论 -
python多线程处理数据
样例代码:该代码将从文件夹中取出所有jpg图像的路径,通过多线程map函数将函数和列表形式存在的参数作为输入传入,启动线程。import globimport osimport cv2import concurrent.futures# 这是一个图像resize并写入的函数def load_and_resize(image_filename): img = cv2.imread(image_filename) img = cv2.resize(img, (600, 600))原创 2021-08-26 15:51:43 · 941 阅读 · 0 评论
分享