如何解决python遇到问题_常见的python问题解决思路

本文介绍了在Python项目中常见的一些问题及其解决思路,包括通过设置Host解决接口访问问题,利用logging模块记录不同级别日志,处理复合数据的归类,以及对多段数字型字符串进行排序的方法。这些技巧对于Python开发和测试工作具有实际指导意义。
摘要由CSDN通过智能技术生成

原标题:常见的python问题解决思路

背景

日常项目中,在使用python优化测试工具时,小编遇到了一些较常见的问题,现借此机会和大家分享下这些问题及相关的处理思路。

问题分享

问题1:解决特定接口无法通过IP直接访问的问题

问题场景

在进行接口测试时,需要分别验证测试环境、待上线环境、线上环境的生效性,但接口无法通过测试IP访问,只能通过特定域名来访问。

处理思路

通过设置代理的方式,在get/post中请求时设置host值。

实例展示

#headersData的作用是设置代理,测试环境为 ip,直接访问 ip不可以,需要通过特定域名访问url

headersData= {

"Host": "www.testupdate.com"

}

知识扩展

使用python进行模拟get/post请求时,也可以设置其他的headers;例如Content-Type、User-Agent、Cookie等。

headersData ={

'User-Agent': 'Mozilla/ 5.0(Windows NT 10.0;WOW64)AppleWebKit/ 537.36(KHTML,like Gecko)Chrome/ 85.0. 4183.83Safari/ 537.36',

'Content- Type': "application/json",

}

问题2:解决如何记录不同级别日志的问题

问题场景

在python脚本调试及使用过程中,为了方便查看及定位问题,需要增加一些不同级别的日志。

处理思路

使用python的logging模块进行日志记录。

实例展示

#方便调试

logging. debug( "This is a debug log.")

#提供给执行人员的提示信息

logging.info( "This is a info log.")

#错误提示

logging. error( "This is a error log.")

知识扩展

Logging输出特定格式的日志样式(时间+日志级别+输出信息)。

# level=loggin.DEBUG代表只有日志级别等于或者高于DEBUG时才会被记录(日志级别:DEBUG

logging.basicConfig(format='%(asctime) s%(levelname) s%(message) s',datefmt=' %m/ %d/ %Y%I: %M: %S',level=logging.DEBUG)

思考:logging与print的区别

1、logging支持设定日志级别,输出指定级别的日志;

2、Logging支持设定日志输出到文件中,且可以设定输出格式;

3、Print打印的输出便于调试,验证通过后往往会注释掉,后续一旦需要维护,再添加注释比较麻烦。

问题3:解决如何处理复合数据的归类处理的问题

问题场景

在使用python进行工具优化时,为了便于结果输出,需要将List_A这种格式的数据归类成List_B格式的数据。

处理思路

实例展示

# 整理归类结果

def get_integrateresult(self,list_RV):

list_result = []

dict_integrate = {}

fordata in list_RV:

for( key,val) in data.items:

ifkeyin dict_integrate.keys:

#当处理 key值存在时,此时先将之前存储的 '0000': [ '6.0.12']取出来,即dict_integrate[ key],此时list_result的值为 6.0.12

list_result=dict_integrate[ key]

#然后将存在的value值进行处理,此时得到[ '6.0.12', '6.0.13']

list_result. append(val)

#然后将list_result赋值给dict_integrate[ key]

dict_integrate[ key]=list_result

list_result=[]

else:

list_result. append(val)

dict_integrate[ key]=list_result

list_result = []

returndict_integrate

问题4:解决如何对以“.“或者”-”组成的多段的数字型字符串进行排序的问题

问题场景

list_V=[ "6.0.12", "5.0.13", "6.6.12", "6.6.15", "6.8.16"]

在使用python实现下拉按钮时,需要将上述列表中的数据按照顺序添加到组件上。

处理思路

先将list_V中的每个数据分别转换成数组,然后使用python内置的sort函数进行整体排序;

实例展示

list_V.sort(key=lambdax:list(int(v)forvinx.split(".")))

小结

以上是小编在工具优化过程中遇到的问题及解决方案,后期也会陆续分享我们工作中遇到的其他疑难问题,希望对小伙伴有所帮助。返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值