最近想做一些小工具,先从字符串和列表互转开始吧。
废话不多说,直接先上代码:
#-*- coding: utf8 -*-
from tkinter import *
import re
from tkinter import messagebox
class pai:
def __init__(self):
pass
def jiemian(self):
root = Tk()
root.title('字符串<>列表')
#root.iconbitmap(r'.\11.ico')
root.geometry('800x800')
self.fram1 = Frame(root)
self.fram1.place(x=15,y=5)
self.shuru = Label(self.fram1,text = '字符串',fg = 'darkturquoise',font = ('Microsoft Yahei',15))
self.shuru.pack()
self.shuruT = Text(self.fram1,width = 50,height = 53)
self.shuruT.pack()
self.fram2 = Frame(root)
self.fram2.place(x=430, y=5)
self.shuchu = Label(self.fram2, text='列表', fg='mediumpurple', font=('Microsoft Yahei', 15))
self.shuchu.pack()
self.shuchuT = Text(self.fram2, width=50, height=53)
self.shuchuT.pack()
self.fram3 =Frame(root)
self.fram3.place(x=5,y=750)
self.canshu = Label(self.fram3,text ='分隔符选择:',fg = 'coral')
self.canshu.pack(side = 'left')
e = StringVar()
self.canshuE = Entry(self.fram3,width = 90,textvariable=e)
e.set(r', . ; \' + = - 注意:引号请在符号前加斜杠\进行转义!支持多个分隔符号' )
self.canshuE.pack(side = 'right')
self.anjian = Frame(root)
self.anjian.place(x=375,y=300)
self.anjian1 = Button(self.anjian,text='==>>',fg = 'green',command = self.daoru)
self.anjian1.pack(side = 'top')
self.anjian2 = Button(self.anjian,text = '<<==',fg = 'hotpink',command = self.daochu)
self.anjian2.pack()
self.anjian3 = Button(self.anjian, text='加引号', fg='cyan', command=self.jiayin)
self.anjian3.pack()
self.v_xuanz =IntVar()
self.v_xuanz.set(1)
self.xuanz = Radiobutton(self.anjian,text = '单引',variable = self.v_xuanz,value ='1')
self.xuanz.pack()
self.xuanz1 = Radiobutton(self.anjian, text='双引',variable = self.v_xuanz,value ='2')
self.xuanz1.pack()
self.qingk1 = Button(root,text = '清空字符串',fg = 'lightskyblue',command = self.qingk)
self.qingk1.place(x=15,y=5)
self.qingk2 = Button(root, text='清空列表', fg='lightskyblue', command=self.qingkl)
self.qingk2.place(x=725, y=5)
root.mainloop()
def daoru(self):
sr = str(self.shuruT.get(0.0,END)).strip()
fen = self.canshuE.get()
if len(fen)>0 and len(fen)<20:
fnn = '['+fen+']'
ssr = re.split(fnn,sr)
for i in ssr:
if i !='':
self.shuchuT.insert(END,i+'\n')
else:
messagebox.showinfo(title='错误提示', message='请输入分隔符号(可以输入多个,请删除默认值重新输入)')
def daochu(self):
tt = list(self.shuchuT.get(0.0,END).split('\n'))
tt.pop(-1)
fen = self.canshuE.get()
ttr = fen.join(tt)
self.shuruT.insert(END,ttr.strip())
def jiayin(self):
tt = list(self.shuchuT.get(0.0, END).split('\n'))
ttt = [i for i in tt if i !='']
if self.v_xuanz.get() ==1:
fen = '\',\''
ttr = '\''+fen.join(ttt)+'\''
self.shuruT.insert(END, ttr.strip())
else:
fen = '\",\"'
ttr = '\"' + fen.join(ttt) + '\"'
self.shuruT.insert(END, ttr.strip())
def qingk(self):
self.shuruT.delete(0.0,END)
def qingkl(self):
self.shuchuT.delete(0.0,END)
if __name__=='__main__':
a=pai()
a.jiemian()
再用pyinstaller -w -F xxxx.py进行打包即可。界面效果:

不喜勿喷。。。。。
本文介绍了一个使用Python实现的简单工具,该工具能够帮助用户在字符串和列表之间进行转换。通过界面输入分隔符,用户可以将字符串分割成列表,或将列表元素连接成字符串,并支持添加单引号或双引号。
353

被折叠的 条评论
为什么被折叠?



