python请求头格式化_tkinterk可视化源码
应自己需求,自己编写的一个python请求头格式化小工具,基于python实现,使用了tkinter库进行可视化,pyinstaller 进行打包
功能:请求头格式化,格式化结果自动粘贴到剪贴板
特点:
- 不会修改key,value字符串,(不会删去字符串里的空格),具体看工具贴
- V1.1.2 新增自动复制格式化结果到剪贴板
对应工具贴:https://www.52pojie.cn/thread-1585760-1-1.html
例子:
输入: 复制代码 隐藏代码
:authority: blog.csdn.net:method: GET:path: /qq_30468133/article/details/ 84946416:scheme: httpsaccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9accept-encoding: gzip, deflate, braccept-language: zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7
输出: 复制代码 隐藏代码
headers = { ':authority': 'blog.csdn.net', ':method': 'GET', ':path': '/qq_30468133/article/details/ 84946416', ':scheme': 'https', 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7'}
基于python实现,使用了tkinter库进行可视化,pyinstaller 进行打包
源码: V1.1.2
import tkinter as tk
def headers_format():
headers_str = tbox_in.get("0.0", "end") # 0行第0号位置,end:最后一个位置
# print(headers_str)
# 去除参数头尾的空格并按换行符分割
headers_str = headers_str.strip().split('\n')
headers = "headers = {\n"
for x in headers_str:
if x == ':':
index = x.index(':', 1)
key = x[:index].strip()
value = x.strip()
else:
key = x.split(':', 1)
value = x.split(':', 1)
headers = headers + " '" + key.strip() + "': '" + value.strip() + "',\n"
headers = headers[:-2] + "\n}"
win.clipboard_clear()# 创建一个新的空白剪贴板,(一个剪贴板有多个剪贴记录)
win.clipboard_append(headers) # 调用了tk.call(('clipboard', 'append'), 复制内容到剪贴板
tbox_out.delete(0.0, tk.END)
tbox_out.insert('end', headers)
if __name__ == '__main__':
win = tk.Tk()
win.title("请求头格式化")
# geometry:几何形状
win.geometry("620x470+500+150")
win.resizable(0, 0)
'''frame1、2、3框架建立'''
frame1 = tk.LabelFrame(win, text="输入框")
frame1.grid(row=0, column=0, sticky='nsew', padx=60, pady=20)
frame2 = tk.LabelFrame(win, text='')
frame2.grid(row=2, column=0)
frame3 = tk.LabelFrame(win, text="输出框")
frame3.grid(row=3, column=0, padx=10, pady=10)
'''frame1框架配置,一个输入框'''
tbox_in = tk.Text(frame1, width=70, height=10)
tbox_in.grid(row=0, column=0)
'''frame2框架配置,background:背景(按钮)颜色;foreground:前景(文字)颜色'''
button1 = tk.Button(frame2, text="请求头格式化", width=15, height=2, background='#148FED', foreground='white', command=headers_format)
button1.grid(row=0, column=0)# sticky默认为'center'
'''frame3框架配置,一个输出框'''
tbox_out = tk.Text(frame3, width=70, height=10)
tbox_out.grid(row=0, column=0)
win.mainloop()
经历:
最近接了一个tkinter的项目,有源码,要添加功能,之前tkinter学了一点,但是处于半吊子状态,缺少好的项目练习,尤其是布局方面。看了项目源码之后感觉茅塞顿开,不像编写计算器那种。看了项目源码最大的收获就是 LabelFrame + grid布局,感觉非常好用
V1.1.1 版本代码写的不能看,V1.1.2 就重写可视化部分代码,使用LabelFrame + grid布局,算是一个小小的练习。
感觉可视化有些鸡肋,只有需要用到了才会花时间练习下,但是真的用tkinter做出好看的界面就感觉很牛x,pysimplegui好像是基于tkinter实现的,不知道用起来怎么样,有坛友涉猎可以告诉以下,pyqt感觉太臃肿了,做些小工具也用不上。
谢谢分享! 这不叫“可视化”吧。可视化是将数据转换成图形或图像,而 tkinter 是用来创建 GUI 应用程序的库 谢谢楼主666666666666666666 MyModHeaven 发表于 2022-2-13 12:50
这不叫“可视化”吧。可视化是将数据转换成图形或图像,而 tkinter 是用来创建 GUI 应用程序的库
可视化界面。。。。 感谢楼主分享! 标记一下,谢谢楼主! 楼上说的好像有点道理哈哈 大佬,M1下打不开啊,提示launch error,解决下啊,对于MAC下来说很好用啊 前哥 发表于 2022-3-2 17:39
大佬,M1下打不开啊,提示launch error,解决下啊,对于MAC下来说很好用啊
工具贴置顶了一个mac版本
页:
[1]
2