小工具系列(一):字符串和列表互转

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

最近想做一些小工具,先从字符串和列表互转开始吧。

废话不多说,直接先上代码:

#-*- 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进行打包即可。界面效果:

不喜勿喷。。。。。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值