
python专栏
文思源想
知道越多不知道的就越多,能力越大责任就越大!
展开
-
python字典使用总结及错误分析
1 python字典查找报Keyerror编码方式Python如果在查找的key不存在的时候就会报:KeyError:比如你要查看print(dict[‘d’]),这里最简单的方式是通过setdefault规避报空情况:dict.setdefault(key,[这里设置如果不存在想将值设置为啥,默认为None])dict.setdefault('a', 0)如下是另外一种写法:当为空时候赋值,不为空时候自增:if registerdict.get(attr.callId) == None:原创 2020-11-04 20:36:25 · 2540 阅读 · 0 评论 -
python异常打印堆栈
1 python异常打印堆栈python调试中难免要捕获异常,并捕捉异常信息,使用 print(e) ,无法得到调用堆栈,不利于问题定位,这里列出python的异常打印方法,记住方便后续调试问题。import tracebackdef fun(a,b): return a/btry: fun(1,0)except Exception as e: traceback.print_exc() #或者得到堆栈字符串信息 info = traceback.fo原创 2020-07-20 19:17:50 · 5620 阅读 · 0 评论 -
python日志配置
python日志配置python引入logging日志模块后,可以在代码中进行日志输出和记录,如下所示LoggerUtils对于日志做了一些格式初始化工作,然后对外暴露相关创建日志的方法createLogger;CmdLogger为日志的功能的一个简单演示类,通过创建的cmdLoger可以灵活打印info\warn\erro等不同级别的日志。#!/usr/local/bin/python3....原创 2020-05-03 10:20:30 · 404 阅读 · 0 评论 -
[python-grpc01]-生成proto3 python模型
1 生成proto3 python模型脚本由于python的grpc通过protobuf定义了相关的消息模型,因此需要使用相关的工具将proto文件转换成python模型(java、c++等语言同理,将模型转换成具体相应语言的自动生成代码)生成脚本:#!/bin/bashdeclare -a services=("users")# Python# $ python -m pip...原创 2020-05-03 10:11:46 · 887 阅读 · 0 评论 -
python类成员的打印
python类成员的打印方式一:使用items便利打印 def prn_obj(self): return '\n'.join([' --%s:%s' % item for item in self.__dict__.items()])方式二:重写str,按照需求打印 def __str__(self): # 定义打印对象时打印的字符串 ...原创 2020-05-03 10:10:55 · 2764 阅读 · 0 评论 -
python读取主机IP地址
python读取主机IP地址获取主机ip地址,这里使用的基础库socket的相关内容,首先获取计算机主机名,在类unix操作系统里面,这里读取的是/etc /hostname的主机名,然后使用主机名获取IP地址,这里实际上读取的是/etc/hosts文件,需要相关主机名配置了具体的ip地址。import socket @staticmethod def getHost(): ...原创 2020-05-03 10:10:24 · 581 阅读 · 0 评论 -
python修改yaml及properties配置文件
python修改yaml及properties配置文件虽然yaml库可以直接读取、修改、生成yaml,但是在yaml的注释兼容保留方便存在一定的问题,个人觉得修改指定行的yaml内容或者setting.properties这类文件,按行读取和识别,还是比较方便的,如下代码分别给出了修改以等号为配置特征的setting.properties的配置文件,以及以:为分隔的yaml配置文件兼容修改的方案...原创 2020-05-03 10:09:21 · 3382 阅读 · 0 评论 -
python的颜色打印
1 python的颜色打印颜色打印,无论对于python、java还是shell,本身是没有什么区别的,关键是用户可以熟记一些常用的颜色码、加粗、加背景等不同参数,下面给出python工具库的一个简单说明。class PrintUtils: checklogger = LoggerUtils.createLogger(__name__, "log/checklogger.log") ...原创 2020-05-03 10:08:47 · 1014 阅读 · 0 评论 -
python手动编程完成进度条提示
python手动编程完成进度条提示进度条的显示,重点是不能换行,因此需要sys.stdout.write和sys.stdout.flush(),以50个空格为一个进度条,完成使用█,实现整体效果,如下图代码所示,是本人实现的延时进度条,流程处理进度条实例:import sysclass ShowProcess(): #####延迟并提示进度 def sleepAndShowP...原创 2020-05-03 10:08:23 · 356 阅读 · 0 评论 -
python进行tcpdump抓包
1 python进行tcpdump抓包使用tcpdump抓包需要使用子进程进行操作比较好,不影响其他主代码逻辑,主要思路总结如下:开启抓包:使用 self.tcpprocess = subprocess.Popen(cmd1),将tcpdump命令传入cmd命令内;停止抓包:直接将tcpprocess kill即可:self.tcpprocess.kill();import sysi...原创 2020-05-03 08:12:15 · 4176 阅读 · 0 评论