
Python
文章平均质量分 84
Python 学习笔记
夏目-
这个作者很懒,什么都没留下…
展开
-
Python 实现日志监控
日志监控,是一种外挂式的采集。通过读取进程打印的日志,来进行监控数据的采集与汇聚计算。汇聚成标准的时间序列数据之后,推送给统一的后端存储。日志监控是一种典型的应用、业务监控的手段,如果我们没法在应用程序里内嵌SDK埋点,使用日志监控不失为一种折中方案。这么说好像还不太明白日志监控到底能够做什么,简单点就是说就是对程序的日志内容进行过滤,如果出现了我们设定的关键字,对其进行计数当达到一定数量时可以触发报警。下面来看一下需要哪些步骤:1、不断的监听日志文件,获取最新的日志内容2、正则功能对日志内容.原创 2021-04-23 14:03:32 · 8226 阅读 · 4 评论 -
HyperLPR 高性能开源中文车牌识别框架
项目地址:https://github.com/szad670401/HyperLPRhyperlpr 依赖opencv 官网提供的安装方式会安装最新版本的OpenCV库,这样运行的时候会出现问题。官网上面的 requirements.txt 文件中有写所依赖的OpenCV的版本 opencv_contrib_python==3.4.3.18但实际安装过程中我发现Windows和Mac上面都找不到这个版本的的库,在我的linux 服务器中倒是可以安装。我所能安装的最新版本是opencv_contr原创 2022-01-13 20:45:31 · 2801 阅读 · 0 评论 -
python:WSGI接口
本文转自 说说我对 WSGI 的理解先说下 WSGI 的表面意思,Web Server Gateway Interface 的缩写,即 Web 服务器网关接口。之前不知道 WSGI 意思的伙伴,看了上面的解释后,我估计也还是不清楚,所以下面结合实际场景说明,先让大家有个大致的认识。最后我们再自己实现一个,加深对 WSGI 的理解。我们现在使用 Python 编写 Web 应用,可以用比较流行的 Flask、Django 框架,也可以按自己的想法直接写一个。可选的服务器软件也特别多,比如常见的有 A.转载 2021-04-25 11:22:31 · 457 阅读 · 0 评论 -
python取整函数 向上取整 向下取整 四舍五入
>>> import math>>> a = 2.4>>> math.ceil(a) #向上取整3.0>>> math.floor(a) #向下取整2.0>>> math.trunc(a) #取整数部分2>>> round(a) #四舍五入2.0转载 2020-11-16 17:47:54 · 1441 阅读 · 0 评论 -
python自定义时间戳
import timet = time.time()print(t) #默认情况下python的时间戳是以秒为单位输出的浮点数print(int(t)) #通过 int() 强制转换成10位print(int( round(t*1000))) #通过 *1000 把秒转换毫秒的方法获得13位的时间戳dt = "2020-09-23T08:00:00+08:00"timearray = time.strptime(dt,"%Y-%m-%dT%H:%M:%S+08:00")timesta.原创 2020-09-23 13:46:19 · 2104 阅读 · 0 评论 -
从闭包到装饰器
闭包shipin_list = ["咖啡","奶茶","果汁"]def shipin(list): l = [] def zs(i): return "你选购的食品是", i for i in list: l.append(zs(i)) return lf1, f2, f3 = shipin(shipin_list) print(f1,f2,f3)#返回值#('你选购的食品是原创 2020-10-15 18:55:56 · 126 阅读 · 0 评论 -
Python:pymongo的使用
一、安装pip install pymongo二 、python连接mongodb数据库的前提确保pymongo安装完毕mongodb数据库的服务器端(mongod)必须处于启动状态三 、连接mongodb连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017。方式一:client=pymongo.MongoClient(host=转载 2020-09-01 14:09:14 · 271 阅读 · 0 评论 -
python代码`if not x:` 和`if x is not None:`和`if not x is None:`使用
代码中经常会有变量是否为None的判断,有三种主要的写法: 第一种是`if x is None`;第二种是 `if not x:`;第三种是`if not x is None`(这句这样理解更清晰`if not (x is None)`) 。如果你觉得这样写没啥区别,那么你可就要小心了,这里面有一个坑。先来看一下代码:[python] v...转载 2020-05-28 11:33:58 · 276 阅读 · 0 评论 -
初学Python常见报错
原创 2020-05-08 10:06:54 · 149 阅读 · 0 评论 -
python日志logging模块的使用方法
日志日志是跟踪软件运行时所发生的事件的一种方法。软件开发者在代码中调用日志函数,表明发生了特定的事件。事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次出现都潜在地不同的数据)。事件还具有开发者归因于事件的重要性;重要性也可以称为级别或严重性。logging提供了一组便利的函数,用来做简单的日志。它们是 debug()、 info()、 warning()、 error() 和 critical()。logging函数根据它们用来跟踪的事件的级别或严重程度来命名。标准级别及其原创 2020-11-09 14:31:51 · 270 阅读 · 0 评论 -
RabbitMQ 在python中的使用
原文地址:https://blog.51cto.com/10983441/24340531.RabbitMQ介绍1.1python的Queue和RabbitMQpython消息队列:线程queue(同一进程之间进行交互)进程queue(父子进程进行交互或同一个进程下的多个子进程进行交互)两个完全独立的python程序:是不能用上面的queue进行交互的,或者和其他语言交互的方式有哪些呢?1.Disk:可以把数据写入磁盘2.Socket通信3.消息中间件:RabbitMQ,ZeroMQ,转载 2020-10-14 16:39:01 · 3307 阅读 · 2 评论 -
@property 重构代码
我们定义一个金钱的类,有美元和美分的属性。class Money: def __init__(self, dollars, cents): self.dollars = dollars self.cents = cents我们可以对它进行实例化,并更改属性的值。>>> money = Money(10,100)>>> money.cents100>>>money.dollars10>&g.原创 2020-09-01 16:35:28 · 135 阅读 · 0 评论 -
Python:Django 框架介绍
Django 框架介绍Django 是一个开源的Web应用框架最初用于管理劳伦斯出版集团旗下的一些以新闻为主题的网站2005年7月在BSD许可证下发布MTV 框架模式模型(Model)模板(Template)视图(Views)Django 的特点采用了MTV的框架模型强调快速开发和代码复用DRY(Do Not Repeat Yourself)组件丰富:ORM(对象关系映射)映射类来构建数据模型URL支持正则表达式模板可以继承内置用户认证,提供用户认证和权限功能原创 2020-08-12 22:27:25 · 667 阅读 · 0 评论 -
python中线程的创建和使用技巧
概念:并行和并发阻塞、非阻塞、同步、异步为什么要用协程进程和线程的区别1、创建线程import threading# 这个函数名可随便定义def run(n): print("current task:", n)if __name__ == "__main__": t1 = threading.Thread(target=run, args=("thread 1",)) t2 = threading.Thread(target=run, args=("thr原创 2020-08-07 06:16:21 · 257 阅读 · 0 评论 -
进程 VS 线程
原文链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017631469467456我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Wo转载 2020-08-07 05:55:16 · 161 阅读 · 0 评论 -
Python3 异步编程详解
原文链接:https://blog.youkuaiyun.com/lu8000/article/details/45025987 目录1 什么是异步编程1.1 阻塞1.2 非阻塞1.3 同步1.4 异步1.5 并发1.6 并行1.7 概念总结1.8 异步编程1.9 异步之难(nán)2 苦心异步为哪般2.1 CPU的.转载 2020-08-07 05:47:58 · 2523 阅读 · 2 评论 -
Python 中的正则表达式
正则表达式的常用规则\ 转义符,特殊含义的字符需要转义^ 字符的启始(以什么开头)$ 字符的结束 (以什么什么结尾)* 匹配前面子表达式0次或多次+ 匹配前面子表达式1次或多次? 匹配前面子表达式0次或1次{n,m} 配置至少n次 ,最多m次. 匹配除 \n 之外的单个字符(pattern) 匹配并获取这个匹配,例如匹配ab(cd)e 正则表达式只返回cd,() 外面的部分作为规则过滤,里面的被匹配的字符,打印出来。[xyz] 字符集合,匹配任意集合里的字符原创 2020-06-03 13:47:11 · 354 阅读 · 0 评论 -
人工智能中深度学习和机器学习的区别
原创 2020-05-09 10:38:50 · 139 阅读 · 0 评论 -
数据分析科普
一、数据的定义与类型:1.数据的定义数据是我们进行数据分析工作的对象,在日常的数据分析工作中,将数据进行正确的类型区分,是进行有效数据分析的关键。2.数据的类型:数据分析当中,通常将数据类型分为:数值型、类别型、有序型、噪声数据。【数值型】可以用数字表示的数据类型,比如我们经常使用的长度、高度、分数等等。这类数据的表现形式就是类似10.1、2.7、95这样的数字形态。对于数值型数据,...原创 2020-05-08 14:17:31 · 3165 阅读 · 0 评论 -
http协议简介
一 HTTP协议基于HTTP协议的client与server请求包含4个过程:1.建立TCP套接字连接;2.发送HTTP请求报文;3.接收HTTP应答/响应报文;4.关闭TCP套接字连接。HTTP协议在TCP/IP协议栈的位置如下图所示:...转载 2020-05-07 16:04:25 · 371 阅读 · 0 评论 -
python操作mysql数据库
安装MySQL驱动由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。MySQL官方提供了mysql-connector-python驱动,但是安装的时候需要给pip命令加上参数–allow-external:$ pip install mysql-connector-python --allow-external my...原创 2020-05-07 11:43:39 · 126 阅读 · 0 评论 -
Python Web学习路线
原文出处:https://www.oschina....转载 2020-05-06 18:39:35 · 965 阅读 · 0 评论 -
Python - 深刻理解Python中的元类(metaclass)
原文链接:https://blog.youkuaiyun.com/troubleshooter/article/details/711701101.类也是对象在理解元类之前,你需要先掌握Python中的类。Python中类的概念借鉴于Smalltalk,这显得有些奇特。在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在Python中这一点仍然成立:>>> class O...转载 2020-05-06 17:20:46 · 130 阅读 · 0 评论 -
Python:async with和async for
原文出处:《async with和async for》网上async with和async for的中文资料比较少,我把PEP 492中的官方陈述翻译一下。异步上下文管理器”async with”异步上下文管理器指的是在enter和exit方法处能够暂停执行的上下文管理器。为了实现这样的功能,需要加入两个新的方法:aenter 和__aexit__。这两个方法都要返回一个 awaitabl...转载 2020-05-06 15:36:12 · 2792 阅读 · 0 评论 -
Python中的with用法
原文出处:http://blog.kissdata.com/2014/05/23/python-with.htmlWith语句是什么?有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。如果不用with语句,代码如下:file = open(...转载 2020-05-06 15:25:38 · 143 阅读 · 0 评论 -
异步IO的进化之路
**阻塞:**程序在等待某个操作完成期间,自身无法继续干别的事情,则称该程序在该操作上是阻塞的。**非阻塞:**程序在等待某操作过程中,自身不被阻塞,可以继续运行干别的事情,则称该程序在该操作上是非阻塞的。**同步:**不同程序单元为了完成某个任务,在执行过程中需靠某种通信方式以协调一致,称这些程序单元是同步执行的。同步意味着有序。**异步:**为完成某个任务,不同程序单元之间过程中无需通信...转载 2020-04-16 17:01:45 · 170 阅读 · 0 评论 -
Python 函数的使用方法
定义函数函数的参数递归函数原创 2020-03-25 15:16:35 · 239 阅读 · 0 评论 -
Python的异常检测和处理
常见的错误类型Exception 捕获所有错误NameError 变量没有被定义SyntaxError 语法错误IndexError list超出索引范围KeyError 字典超出索引范围ValueError 值错误AttributeError 属性错误更多错误类型可见:菜鸟:https://www.runoob.com/python/pytho...原创 2020-03-24 15:14:04 · 465 阅读 · 0 评论 -
Python 列表生成式和字典生成式
列表生成式如果要生成[1x1, 2x2, 3x3, …, 10x10]怎么做?方法一是循环:>>> L = []>>> for x in range(1, 11):... L.append(x * x)...>>> L[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]如果我们想要生成一个列表,而...原创 2020-03-23 18:29:53 · 217 阅读 · 0 评论 -
Python 常用函数的使用方法
map()函数map()函数接受两个参数,一个是函数,一个是Iterable(可迭代),map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator(迭代器)返回。例:把一个list中的数字改成字符串list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))['1', '2', '3', '4', '5', '6', '7', '8', '9'...原创 2020-03-20 18:40:38 · 340 阅读 · 0 评论 -
生成器
生成器的优势不必创建完整的list,从而节省大量的空间。列表元素可以按照某种算法推算出来。Python中,这种一边循环一边计算的机制,称为生成器:generator。要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:>>> L = [x * x for x in range(10)]>&...原创 2020-03-23 18:30:51 · 164 阅读 · 0 评论 -
python 面向对象编程
类和实例类是抽象的模板,实例是根据类创建出来的一个个具体的对象。每个对象都拥有相同的方法,但各自的数据可能不同。方法在类内部定义访问数据的函数,把“数据”给封装取来了,这些函数是和类关联起来的,称之为类的方法。访问限制不让外部可以自由的修改实例的属性,在属性前面加__。如果要从外部调用,可以给类增加调用的方法。修改也可以用这种方法,限制从外部修改。同时调用的时候,可以做参数检查避免输入...原创 2020-03-23 18:31:24 · 138 阅读 · 0 评论 -
python中进程的创建和使用技巧
import osprint('Process (%s) start...' % os.getpid())# Only works on Unix/Linux/Mac:pid = os.fork() #调用fork,操作系统会生成一个子进程,子进程的接受返回值永远为0,父进程的接收子进程的pid作为返回值。if pid == 0: # print('I am child p...原创 2020-03-23 18:35:05 · 215 阅读 · 0 评论 -
Python的异步IO - 协程
协程协程,一个线程执行多个子程序,来回切换。很类似多线程,哪和多线程相比有何优势呢?1、协程的执行效率很高。因为是子程序切换而不是线程切换,由程序自身控制。因此,没有线程切换的开销。和多线程比,线程数量越多,协程的性能优势就越明显。2、不需要多协程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。而因为协程是...原创 2020-03-23 18:35:25 · 120 阅读 · 0 评论 -
Python — 定制类
看到类似这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。Python的class中有许多这样有特殊用途的函数,可以帮助我们定制类从而拥有丰富的功能。str定义__str__()方法可以帮助我们输出方便阅读的字符串。>>class Student(object):>>... def __init__(self,name):...原创 2020-03-23 18:35:53 · 187 阅读 · 0 评论