前言
模块还有很多需要改进的地方,不过现在成品暂时能用,定为版本1.0.0
现在能处理两件事:
1.为对浏览器上的header信息转化成json,无需手动添加
2.为对多层嵌套的json文件进行处理,通过缩进表示内在嵌套规律
预计添加:
支持list嵌套显示,通过查看剪贴板完成工作,无需多余操作,异常检测,错误报告,美观的json格式
代码
def first(obj):
headers={}
obj=obj.split('\n')
for line in obj:
line=line.split(':',1)
headers[line[0]]=line[1]
print(headers)
return headers
def second(the_dict, omit=False, level=0):
for each_item in the_dict:
if isinstance(the_dict[each_item], dict):
for tab_stop in range(level):
print('\t', end='')
print("'{}'".format(each_item))
second(the_dict[each_item],omit,level+1)
else:
for tab_stop in range(level):
print('\t', end='')
if omit:
if len(the_dict[each_item]) > 70:
the_dict[each_item] = the_dict[each_item][:70] + '......'
if isinstance(the_dict[each_item],int):
print("'{}' : {}".format(each_item,the_dict[each_item]))
else:
print("'{}' : '{}'".format(each_item,the_dict[each_item]))
说明
First 为对浏览器的头信息加工成字典
Second 为显示嵌套字典内部结构,使用缩进表示,复制对应的信息就可以使用字典中要用的信息了
大于70个字符的values默认显示全,可以通过omit参数来进行省略,将后面改为…美观显示
使用了递归,逻辑应该是没错的
使用示范
first
比如在浏览器里面,直接复制headers是这样的
Request URL:https://re.csdn.net/csdnbi
Request Method:POST
Status Code:200
Remote Address:117.122.217.89:443
Referrer Policy:unsafe-url
需要手动处理,麻烦
使用模块
first('''Request URL:https://re.csdn.net/csdnbi
Request Method:POST
Status Code:200
Remote Address:117.122.217.89:443
Referrer Policy:unsafe-url''')
得到结果
second
有一个这样的字典
{'Request URL': 'https://re.csdn.net/csdnbi', 'Request Method': 'POST', 'Status Code': '200 ',
'Remote Address': '117.122.217.89:443', 'Referrer Policy': 'unsafe-url','pl':{'lk':'lo','po':3}}
得到结果
层次结构很清楚。
多的以后再说吧