Python
文章平均质量分 63
基础语法,高级语法,内置模块,第三方模块等
redrose2100
Python开发工程师/DevOps工程师/测试开发工程师
展开
-
Python----Python中使用logging模块打印异常调用栈的三种方法
在有些情况下,期望报出的异常信息以及异常调用栈不打印Error级别的日志,而是打印info级别的,比如在做一些容错或者重试机制时,通常不希望在重试或者容错过程中报错误信息,此时注意logging的默认级别为warning,因此为了显示info级别的日志,需要首先想logging的日子级别设置为info,此时如果希望打印异常调用栈,则需要通过traceback模块来辅助实现,代码如下所示。执行结果如下所示,可以看出,这里使用的logging.exception方法,打印出来的是Error级别的日志。原创 2023-05-29 01:22:00 · 3087 阅读 · 0 评论 -
Python----通过paramiko库实现远程执行linux命令
本文详细介绍了如何使用paramiko库实现远程执行linux命令的方法原创 2023-03-06 23:37:35 · 605 阅读 · 0 评论 -
Python----Python安装包出现Failed building wheel for xxx的问题解决办法
本文详细介绍了如何解决python安装包的时候报错的解决办法原创 2023-02-22 01:00:22 · 6160 阅读 · 7 评论 -
Python----安装Python包时报Microsoft Visual C 14.0 or greater is required的解决办法
本文详细介绍了如何解决安装python包遇到需要VC的问题原创 2023-02-22 00:05:37 · 632 阅读 · 0 评论 -
使用Python生成独一无二的字符串
本文详细介绍了如何使用python语言生成一个独一无二的随机字符串原创 2022-09-22 16:42:13 · 2062 阅读 · 0 评论 -
二十四种场景全方位解读Python装饰器的用法
详细列举了24中装饰器使用场景,并应用实例进行详细的解说,掌握装饰器是阅读源码的一个重要基础原创 2022-07-19 16:54:27 · 641 阅读 · 0 评论 -
Python----使用apscheduler模块设置定时任务
【原文链接】一、安装pip install apscheduler二、ApScheduler 简介1 APScheduler的组件triggers:触发器triggers包含任务执行的调度逻辑,决定任务按照什么逻辑进行定时执行job stores;任务存储器存储了调度任务executors:执行器用例执行任务的,包含线程池以及进程池等的创建和调用等等schedulers:调度器属于控制面,将其他几个方面组织起来的作用、2 调度器的种类调度器有以下几种常见类型原创 2022-05-25 14:36:47 · 2791 阅读 · 0 评论 -
Python----schedule模块关于定时任务的高级用法二
【原文链接】1 设置时间间隔随机数在有一些场景下,为了模拟比较自然的情景,需要采用随机的时间间隔,这就派上用场了如下代码,设置随机间隔从2秒到10秒之间取随机数import scheduleimport timedef do_func(name,age): print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+" in do func : 姓名:"+name+" 年龄:"+str(age))def原创 2022-05-25 01:53:10 · 1638 阅读 · 0 评论 -
Python----schedule模块关于定时任务的高级用法一
【原文链接】1 取消定时任务比如当满足一定条件时,就取消定时任务,在这种场景下,不可能说把进程干掉,所以可以利用取消定时任务的功能如下代码,通过count控制当执行了5此以后,就取消定时任务import scheduleimport timecount=0def do_func(name,age): global count count+=1 print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.tim原创 2022-05-25 00:57:18 · 2136 阅读 · 0 评论 -
Python----使用schedule模块可以非常简单地设置定时任务
【原文链接】一、安装pip install schedule二、schedule模块的用法1 设置每x周/天/小时/分钟/秒执行一次如下分别列举了每两秒、每两分钟、每两小时、每两天、每两周执行一次的代码import scheduleimport timedef do_func(): print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+" in do func ...") def m原创 2022-05-25 00:29:46 · 4531 阅读 · 0 评论 -
Python极简编程----三行代码即可实现邮件发送接收解析-caterpillar_mail
caterpillar_mail 简介caterpillar_mail 主要为收发邮件、解析邮件做的进一步高层封装,使用起来极其方便,追求极简的编码方式,目前已支持的邮箱类型见 当前已支持的邮箱类型Github平台caterpillar_mail源码Gitee平台caterpillar_mail源码Pypi平台版本发布历史caterpillar_mail 安装方式pip install -U caterpillar_mailcaterpillar_mail 使用说明发送邮件三行代码即可发原创 2021-12-11 20:21:10 · 778 阅读 · 0 评论 -
Python实战技巧(11)使用python收发邮件时需要的邮箱授权码如何获取
Python实战技巧(1)Python字典类型数据如何递归地通过点‘.’的方式访问Python实战技巧(2)Python的pdb调试代码方法详解Python实战技巧(3)多版本兼容安装部署(py27,py34,py35,py36,py37,py38,py39)Python实战技巧(4)正式在pypi网站发布包的流程详解Python实战技巧(5)Python版本兼容性测试工具tox实战详解Python实战技巧(6)Miniconda+Pipenv安装部署开发环境实战详解Python实战技巧(7)P原创 2021-11-18 23:44:42 · 1656 阅读 · 0 评论 -
Python实战技巧(10)Python解析邮件
Python实战技巧(1)Python字典类型数据如何递归地通过点‘.’的方式访问Python实战技巧(2)Python的pdb调试代码方法详解Python实战技巧(3)多版本兼容安装部署(py27,py34,py35,py36,py37,py38,py39)Python实战技巧(4)正式在pypi网站发布包的流程详解Python实战技巧(5)Python版本兼容性测试工具tox实战详解Python实战技巧(6)Miniconda+Pipenv安装部署开发环境实战详解Python实战技巧(7)P原创 2021-11-16 16:13:25 · 2997 阅读 · 2 评论 -
Python实战技巧(9)Python发送邮件
Python实战技巧(1)Python字典类型数据如何递归地通过点‘.’的方式访问Python实战技巧(2)Python的pdb调试代码方法详解Python实战技巧(3)多版本兼容安装部署(py27,py34,py35,py36,py37,py38,py39)Python实战技巧(4)正式在pypi网站发布包的流程详解Python实战技巧(5)Python版本兼容性测试工具tox实战详解Python实战技巧(6)Miniconda+Pipenv安装部署开发环境实战详解Python实战技巧(7)P原创 2021-11-15 16:11:47 · 644 阅读 · 0 评论 -
Python----chardet模块的使用方法
Python专题系列(1)pathlib专题Python专题系列(2)csv专题Python专题系列(3)logging专题Python专题系列(4)configparser专题Python专题系列(5)setuptools专题Python专题系列(6)pluggy专题Python专题系列(7)chardet专题(检测字符串编码格式)1、安装1.1、安装命令pip install chardet2、使用2.1、检测是否为ascii编码import chardetv1=b"hel原创 2021-11-14 18:22:29 · 7018 阅读 · 0 评论 -
Python----Python调用C语言方法
Python实战技巧(1)Python字典类型数据如何递归地通过点‘.’的方式访问Python实战技巧(2)Python的pdb调试代码方法详解Python实战技巧(3)多版本兼容安装部署(py27,py34,py35,py36,py37,py38,py39)Python实战技巧(4)正式在pypi网站发布包的流程详解Python实战技巧(5)Python版本兼容性测试工具tox实战详解Python实战技巧(6)Miniconda+Pipenv安装部署开发环境实战详解Python实战技巧(7)P原创 2021-11-14 17:59:55 · 7537 阅读 · 1 评论 -
Python----map,filter,reduce,zip,lambda的使用方法
Python高级语法(1)-抽象类Python高级语法(2)-多继承和MRO继承机制Python高级语法(3)-global和nolocal关键字使用详解Python高级语法(4)-魔法函数__init__/__del__/__new__Python高级语法(5)-魔法函数__str__/__repr__即str和repr的联系与区别的本质Python高级语法(6)-魔法函数__len__和__contains__即in和len()的本质Python高级语法(7)-魔法函数__getitem__原创 2021-11-13 00:08:05 · 553 阅读 · 0 评论 -
Python----迭代器的使用方法
Python高级语法(1)抽象类Python高级语法(2)多继承和MRO继承机制Python高级语法(3)global和nolocal关键字使用详解Python高级语法(4)魔法函数__init__/__del__/__new__Python高级语法(5)魔法函数__str__/__repr__即str和repr的联系与区别的本质Python高级语法(6)魔法函数__len__和__contains__即in和len()的本质Python高级语法(7)魔法函数__getitem__/__seti原创 2021-11-12 23:51:55 · 542 阅读 · 0 评论 -
Python----装饰器的使用方法
Python高级语法(1)抽象类Python高级语法(2)多继承和MRO继承机制Python高级语法(3)global和nolocal关键字使用详解Python高级语法(4)魔法函数__init__/__del__/__new__Python高级语法(5)魔法函数__str__/__repr__即str和repr的联系与区别的本质Python高级语法(6)魔法函数__len__和__contains__即in和len()的本质Python高级语法(7)魔法函数__getitem__/__seti原创 2021-11-12 23:42:25 · 927 阅读 · 0 评论 -
Python----type、object和class的关系
Python高级语法(1)抽象类Python高级语法(2)多继承和MRO继承机制Python高级语法(3)global和nolocal关键字使用详解Python高级语法(4)魔法函数__init__/__del__/__new__Python高级语法(5)魔法函数__str__/__repr__即str和repr的联系与区别的本质Python高级语法(6)魔法函数__len__和__contains__即in和len()的本质Python高级语法(7)魔法函数__getitem__/__seti原创 2021-11-12 23:35:09 · 534 阅读 · 0 评论 -
Python----Python中一切皆对象
Python高级语法(1)抽象类Python高级语法(2)多继承和MRO继承机制Python高级语法(3)global和nolocal关键字使用详解Python高级语法(4)魔法函数__init__/__del__/__new__Python高级语法(5)魔法函数__str__/__repr__即str和repr的联系与区别的本质Python高级语法(6)魔法函数__len__和__contains__即in和len()的本质Python高级语法(7)魔法函数__getitem__/__seti原创 2021-11-12 23:28:27 · 942 阅读 · 0 评论 -
Python----setuptools模块用法
Python专题系列(1)pathlib专题Python专题系列(2)csv专题Python专题系列(3)logging专题Python专题系列(4)configparser专题Python专题系列(5)setuptools专题1 setuptools 安装,执行如下命令即可:pip install setuptools如下表示已经安装ok(PythonBaseEnv) G:\study\pkg_01>pip install --upgrade setuptoolsCollecti原创 2021-11-12 23:15:51 · 1429 阅读 · 0 评论 -
Python----configparser模块的用法
Python专题系列(1)pathlib专题Python专题系列(2)csv专题Python专题系列(3)logging专题Python专题系列(4)configparser专题1 configparser 使用get方式读取.ini配置文件的配置内容(1)首先编写如下所示的env.ini配置文件[server]ip=192.168.1.200port=22username=rootpassword=root[personal]name=redrose2100city=nan原创 2021-11-12 23:10:47 · 1349 阅读 · 0 评论 -
Python----logging模块的使用方法
Python专题系列(1)pathlib专题Python专题系列(2)csv专题Python专题系列(3)logging专题1 logging 日志级别级别级别数量使用场合DEBUG10详细信息,常用语调试INFO20程序正常运行过程中产生的一些信息WARNING20警告用户,虽然程序还在正常工作,但有可能发生错误ERROR40由于更严重的问题,程序已不能执行一些功能了CRITICAL50严重错误,程序已不能继续运行了2 log原创 2021-11-12 23:05:59 · 1082 阅读 · 3 评论 -
Python专题系列
Python专题系列(1)pathlib专题Python专题系列(2)csv专题原创 2021-11-12 23:03:42 · 198 阅读 · 0 评论 -
Python----Python中的字典及其常用用法
Python基础语法(1)python简介Python基础语法(2)Python之禅Python基础语法(3)miniconda的使用Python基础语法(4)基于CentOS7源码安装Python语言Python基础语法(5)基本类型之数字Python基础语法(6)基本类型之字符串Python基础语法(7)基本类型之列表Python基础语法(8)基本类型之元组Python基础语法(9)基本类型之集合Python基础语法(10)基本类型之字典1 字典的dict的定义与特点(1)字典也原创 2021-11-12 22:49:24 · 559 阅读 · 0 评论 -
Python----Python中的集合及其常用方法
Python基础语法(1)python简介Python基础语法(2)Python之禅Python基础语法(3)miniconda的使用Python基础语法(4)基于CentOS7源码安装Python语言Python基础语法(5)基本类型之数字Python基础语法(6)基本类型之字符串Python基础语法(7)基本类型之列表Python基础语法(8)基本类型之元组Python基础语法(9)基本类型之集合1 集合的定义和特点(1) 集合是用花括号括起来的,集合的特点是元素没有顺序,元素具有原创 2021-11-12 22:44:35 · 1911 阅读 · 0 评论 -
Python中的元组及其常用方法
本文详细介绍了Python中元组的常用用法原创 2021-11-12 22:39:31 · 3525 阅读 · 0 评论 -
Python----Python中的列表及其常用方法
本文详细介绍了python中列表的常用用法原创 2021-11-12 22:34:20 · 452 阅读 · 0 评论 -
Python字符串及其常用方法
本文详细介绍了字符串的常用用法原创 2021-11-12 22:30:44 · 403 阅读 · 0 评论 -
Python中基本数据类型----数字类型
本文详细介绍了python语言中的数字类型这种基本数据类型原创 2021-11-12 22:26:09 · 741 阅读 · 0 评论 -
Python基础语法(3)miniconda的使用
Python基础语法(1)python简介Python基础语法(2)Python之禅Python基础语法(3)miniconda的使用(1)Miniconda是做什么用的?简单点来说,miniconda是为了方便的创建多个python虚拟环境,方便多个python项目同时开发的时候,每个项目都有自己独立的python开发环境,可以理解为virtualenv的高级版,使用起来非常方便(2 )win10下如何下载安装?打开miniconda官网地址,根据操作系统位数选择,这里选择windows系原创 2021-11-12 22:15:41 · 1532 阅读 · 0 评论 -
Python实战技巧系列
Python实战技巧(1)Python字典类型数据如何递归地通过点‘.’的方式访问Python实战技巧(2)Python的pdb调试代码方法详解Python实战技巧(3)多版本兼容安装部署(py27,py34,py35,py36,py37,py38,py39)Python实战技巧(4)正式在pypi网站发布包的流程详解Python实战技巧(5)Python版本兼容性测试工具tox实战详解Python实战技巧(6)Miniconda+Pipenv安装部署开发环境实战详解Python实战技巧(7)P原创 2021-11-12 16:46:19 · 343 阅读 · 0 评论 -
Python----Python字典类型数据通过点‘.’的方式访问
Python实战技巧(1)Python字典类型数据如何递归地通过点‘.’的方式访问(1)对于类似如下结构类型的数据,在一定的场合下,希望类似于info.student, info.student.name, info.teacher.course.math 等递归地通过点(.)的方式调用字典的数据info={ "student":{ "name":"zhangsan", "age":20, "male":"man" }, "teac原创 2021-11-11 13:55:00 · 4909 阅读 · 6 评论 -
Python高级语法系列
Python高级语法(1)-抽象类Python高级语法(2)-多继承和MRO继承机制Python高级语法(3)-global和nolocal关键字使用详解Python高级语法(4)-魔法函数__init__/__del__/__new__Python高级语法(5)-魔法函数__str__/__repr__即str和repr的联系与区别的本质Python高级语法(6)-魔法函数__len__和__contains__即in和len()的本质Python高级语法(7)-魔法函数__getitem__原创 2021-11-09 22:50:51 · 2782 阅读 · 0 评论 -
CentOS7系统使用源码编译的方式安装Python语言
本文详细介绍了在CentOS7系统上如何使用Python源码编译的方式安装Python原创 2021-11-05 17:52:24 · 531 阅读 · 0 评论 -
Python----Python的pdb代码调试方法
诚然,借助pycharm打断点调试代码确实很简单,很方便,也很明了,但是在实际项目开发中,经常会遇到比如在linux上调试一段代码,没有pycharm等工具支撑的时候,很多人可能会考虑在代码中打印信息来辅助定位,但是如果代码挺多,变量挺多的时候,定位起来就相当的麻烦,所以作为一个合格的python开发者,pdb调试的方法还是要掌握的下面以如下一段代码为例,详细演示如何利用pdb调试,首先需要导入pdb,然后在想调试的位置加上pdb.set_trace(),当程序执行的时候就会从此处进入调试位置,如下就从开原创 2021-07-01 00:00:37 · 986 阅读 · 8 评论 -
Python高级语法(11)多线程、多进程、协程简介与选择
1、python实现并发并行编程的方式有三种:多线程、多进程、多协程CPU密集型计算(CPU-bound);CPU密集型也叫计算密集型,是指I/O在很短的时间内完成,CPU需要大量的计算和处理,特点就是CPU占用率相当高如:压缩解压缩,加密解密,正则表达式搜索I/O密集型计算(I/O-bound):IO密集型是指系统运作大部分的状况是CPU在等IO(硬盘和内存)的读写操作,CPU占用率仍然很低例如:文件处理程序,网络爬虫程序,读写数据库程序等多进程(Process)优点:可以利原创 2021-06-27 16:11:43 · 726 阅读 · 0 评论 -
Python实战技巧(7)Pycharm如何远程调试远程执行
如:配置windows上G:\src\demo目录和CentOS上/opt/demo目录对应,并且使用Centos上的python解释器在windows上远程执行1、打开Pycharm,打开demo项目,点击【Tools】-【Deployment】-【Configuration】2、点击"+",然后点击“SFTP”,输入连城链接的名字,可以直接使用ip,如:192.168.1.2003、点击此处的“…”*4、输入ip,用户名密码,点击【Test Connection】,出现如下图所示的表示连原创 2021-06-24 20:00:26 · 1978 阅读 · 1 评论 -
Python----魔法函数__getattr__/__setattr__/__delattr__/__getattribute__的用法
1、__getattr__魔法函数作用:当调用的对象的属性不存在的时候会触发__getattr__魔法函数,此时可以在此魔法函数做一些定制化处理如:class Student2(object): def __init__(self, name): self.name = name def __getattr__(self,item): print("no {attr} exist...".format(attr=item)) ret原创 2021-06-22 23:48:00 · 1129 阅读 · 0 评论