代码成果演示
Gitee源码
# -*- coding: utf-8 -*- # Version: Python 3.9.7 # Author: TRIX # Date: 2021-10-05 13:51:29 # Use:将复制的申请标头字符串 转换成 headers字典 并贮存在headers.json 复制到剪贴板 #应用办法:f12-网络-f5-名称-任意一个条目-标头-申请标头-复制所有-运行该文件 import pyperclip,json def getHeaders(noKeys=None,extraStripChars=[':'],doPrint=False,): '''noKeys 依据键名去除键值对 键名与键名间以一个space宰割 辨别大小写 疏忽是否strip extraStripChars 额定strip键名的无关字符 字符与字符间以一个space宰割 doPrint 是否打印headers和去除的键值对 只有在首次创立headers.json有用''' strs=pyperclip.paste()#读取剪贴字符串 headers={} if 'Mozilla' not in strs:#如果复制字符串不是申请标头 try: with open('headers.json','r',encoding='utf-8') as f:#读取贮存的headers headers=json.loads(f.read())#json文本转dict对象 except FileNotFoundError: return print('请至多残缺复制一次申请标头信息\n复制办法:f12-网络-f5-名称-任意一个条目-标头-申请标头-复制所有') if not headers: def stripChars(word):#strip键名的无关字符 word=word.strip() for char in extraStripChars: word=word.strip(char) return word keysValues=[] for keyOrValue in strs.split(': '):#以: 和\n切分字符串 for kOrV in keyOrValue.split('\r\n'): keysValues.append(stripChars(kOrV)) for i in range(0,len(keysValues),2):#生成headers字典 headers[keysValues[i]]=keysValues[i+1] if noKeys:#去除指定键值对 popKvs=[] for key in noKeys.split(): popKvs.append(f"'{key}':'{headers.pop(stripChars(key))}'") headersJson=json.dumps(headers,ensure_ascii=False,indent=2)#dict对象转json文本 ensure_ascii让输入后果是中文而不是unicode indent缩进字符个数 值只能是 dict list int float str bool None with open('headers.json','w',encoding='utf-8') as h:#贮存json数据 h.write(headersJson) print('headers信息已贮存至headers.json 并复制到剪贴板') if doPrint:#打印 print('headers={') for k,v in headers.items(): print(f"'{k}':'{v}',") print('}') if popKvs: print('\n去除headers的键值对如下:') for kv in popKvs: print(kv) print('\n') pyperclip.copy(headersJson)#复制headers到剪贴板 return headers #getHeaders(noKeys='path',doPrint=True) getHeaders()