-
python logging日志的禁用
禁用说明 1、只需要在需要禁用日志的地方插入logging.disable(logging.logging_level)即可。 2、后面的logging对应的loggle_level函数都会失效,禁用的级别一定要对应代码中写的那个级别对应。 实例 n = 0 try: print(10 / n) except Exception as e: print(‘e:’,e) logging.error(e) logger.error(“发…
-
python异常处理的常见错误
常见错误说明 1、在执行finally之前,try中的产生的异常将会被临时保存起来,当finally的代码执行完成后,再抛出异常; 但当finally中存在raise或return或break时, try中的异常将会被抛弃。 2、如果在try块语句中存在return的同时又存在finally块语句,那么将会在执行try块语句中return语句之前去执行finally语句块,然后再回来执行try块语句中return语句。但是在finally块语句中存在return语句,整个函数已结束,所以try块…
-
python使用tqdm定制进度条
1、可以实例化一个tqdm类,然后通过传参和调用tqdm类中的方法来实现定制。 import time from tqdm import tqdm pbar = tqdm(range(100), desc=”My Processing: “) for i in pbar: time.sleep(0.1) pbar.close() 2、类似于打开文件的操作,一个实例化的tqdm在使用完毕后通过close()方法进行清理。我们也可以像文件操作那样,使用with语句来避免这些麻烦的操作,让它在使用…
-
python爬虫获取数据异常的解决
问题说明 如果发现爬取到的数据和页面正常显示的数据不一样,或者说爬取的是空白数据,那很有可能是由于网站创建页的程序有问题。假如爬取频率高过了网站的设置阀值,就会被禁止访问。 解决办法 爬虫开发人员一般采用两种方式来处理。 1、调慢爬取速度,减少对目标网站产生的压力。可是如此一来会减少单位时间内的爬取量。 2、利用设置ip代理的方式,突破反爬虫机制继续高频率爬取,可是如此一来要很多个稳定的ip代理,想要更好的爬取足够的数据必须使用高质量ip代理才行。 每日分享到群里,或者推荐给朋友会得大量积分,机…
-
python tqdm是什么
1、说明 tqdm是一个方便且易于扩展的Python进度条,可以在python执行长循环时在命令行界面实时地显示一个进度提示信息,包括执行进度、处理速度等信息,且可在一定程度上进行定制。 2、使用pip来安装tqdm模块 pip install tqdm 3、tqdm使用方法 tqdm.tqdm(可迭代对象) ,括号中的可迭代对象可以是个list,tuple等。 from tqdm import tqdm,trange import time a = [1,2,3] for i in t…
-
python类如何自定义实例化
说明 1、在类定义体中,self指的是实例化的对象。 2、不跟随self的属性属于类属性。 3、可采用__init__()函数定制初始化模式。 4、属于类的方法是共享的,属于对象的方法是每个对象私有的。 实例 class Model: name = “DNN” def ___init__(self, name): self.name = name def main(): cnnmodel = Model(“CN…
-
python闭包的作用
作用 1、共享变量时避免使用了不安全的全局变量 2、允许将函数与某些数据关联起来,类似于简化版面向对象编程 3、相同代码每次生成的闭包,其延伸的作用域都彼此独立 4、函数的一部分行为在编写时无法预知,需要动态实现,同时又想保持接口的一致性 5、较低的内存开销,类的生命周期远大于闭包 6、实现装饰器 实例 def print_msg(): # print_msg 是外围函数 msg = “zen of python” def printer(): # pri…
-
python如何实现Stack
说明 1、栈是线性数据结构,其特点是元素的增加和删除都是入栈和弹栈的形式(遵循先进后出或后进先出的原则。 2、stack可以使用python内置的list实现,因为list是属于线性数组,在末尾插入和删除一个元素所使用的时间都是O(1),这非常符合stack的要求。当然,也可以使用链表来实现。 实例 class Stack(object): def __init__(self): self.items = [] def is_empty(self): …
-
Python中tail -f如何实现
说明 1、tail-f默认先读取最后10行数据,然后从文件末尾读取实时数据。如果是小文件,可以先读取所有文件内容,输出最后10行。 2、读取全文后获取最后10行的性能并不高,后滚10行的边界条件也很复杂。先获取全文,再得到最后10行的实现。 实例 import time import sys from typing import Callable, NoReturn class Tail(object): def __init__( self, …
-
python三种流程控制的语句
1、顺序流程控制 按照代码顺序执行。 import math pi = 3.14 r = float(input(‘input r = ‘)) S = pi * r**2 C = 2 * pi * r print(f’半径为{r}cm的圆的周长为{C}, 面积为{S}’) 2、分支流程控制 if-elif-else语句: if 条件1: action1 elif 条件2: action2 else 条件3: action3 3、循环流程控制 while循环语句语法结构 while…