TXT文件按条件批量删除行工具,由论坛用户通过Python语言编写的一个TXT文件处理工具,能实现指定行批量删除功能。TXT文件按条件批量删除行能批量指定目标行进行删除,减少了用户的时间,提高了工作效率。经常进行文本编辑的朋友们可以下载试试。

批量删除行含关键字或词的行(多个关键字/词中间用空格隔开)
批量删除空行
批量字符小于多少(可设定)删除行
点击打开文件批量选择TXT文件。
需要的功能前打勾,并配置。
点击【开始 】即可进行转换。
最后会生成原文件名+_new.txt的文件。
import os
import tkinter
from tkinter import ttk, filedialog, messagebox # 有Combobox、LabelFrame 组件时需要本语句
FilePaths = ()
def getTxtFiles():
global FilePaths
files = filedialog.askopenfilenames(filetypes=[('text files', '.txt')])
if files:
FilePaths = files
# print(FilePaths)
for f_name in files:
ctrl_FileListBox.insert('end', f_name)
ctrl_FileListBox.insert(tkinter.INSERT, '\n')
else:
messagebox.showinfo(title='提示', message='没有选择任何文件!')
def KeyWordScan(keys, s):
key_words = keys.split(" ")
t_f = False
for key_word in key_words:
if key_word in s:
t_f = True
return t_f
def ctrl_StartBtn_clicked():
has_key_words = int_CheckBox1.get()
key_words = str_KeyWord.get()
has_empty_line = int_CheckBox2.get()
has_N = int_CheckBox3.get()
n = str_KeyNum.get()
for file in FilePaths: # 循环遍历文件
s_file = open(os.path.splitext(file)[0]+"_new"+os.path.splitext(file)[1], 'w+') # 文件保存位置
f_lines = open(file, encoding='utf8').readlines() # 打开文件,读入每一行
for s in f_lines: # s: 每一行的内容
# 操作1
if has_key_words:
if KeyWordScan(key_words, s):
continue
# 操作2
if has_empty_line:
if len(s.strip()) == 0:
continue
# 操作3:
if has_N:
if len(s.strip()) < int(n):
continue
s_file.write(s)
s_file.close() # 关闭文件
root = tkinter.Tk() # 设定窗体变量
root.geometry('450x300') # 格式('宽x高+x+y')其中x、y为位置
root.title('TxT文件处理助手V0.1 By 52poje Loker')
ctrl_Frame1 = ttk.LabelFrame(root, text='选项')
ctrl_Frame1.place(x=14, y=72, width=388, height=101)
ctrl_StartBtn = tkinter.Button(root, text='确定', font=('宋体', '9'),
command=ctrl_StartBtn_clicked) # 可在括号内加上调用函数部分 ,command=ctrl_StartBtn_clicked
ctrl_StartBtn.place(x=22, y=223, width=72, height=29)
ctrl_QuitBtn = tkinter.Button(root, text='取消', font=('宋体', '9')) # 可在括号内加上调用函数部分 ,command=ctrl_QuitBtn_clicked
ctrl_QuitBtn.place(x=108, y=223, width=72, height=29)
ctrl_FileListBox = tkinter.Text(root, font=('宋体', '9'))
ctrl_FileListBox.place(x=14, y=7, width=260, height=38)
ctrl_Scrollbar1 = tkinter.Scrollbar(root, command=ctrl_FileListBox.xview, orient=tkinter.HORIZONTAL)
ctrl_Scrollbar1.place(x=14, y=46, width=261, height=16)
ctrl_Scrollbar2 = tkinter.Scrollbar(root, command=ctrl_FileListBox.yview, orient=tkinter.VERTICAL)
ctrl_Scrollbar2.place(x=275, y=7, width=16, height=39)
ctrl_FileListBox.config(xscrollcommand=ctrl_Scrollbar1.set, yscrollcommand=ctrl_Scrollbar2.set, wrap='none')
int_CheckBox1 = tkinter.IntVar() # 绑定变量
ctrl_CheckBox1 = tkinter.Checkbutton(ctrl_Frame1, text='删除行含关键字或词的行', variable=int_CheckBox1, font=('宋体', '9'))
ctrl_CheckBox1.place(x=14, y=14, height=22) # 考虑到对齐问题,不列入宽度,需要时手动加入 width=130
ctrl_CheckBox1.deselect() # 默认为未选中状态
Ctrl_Label1 = tkinter.Label(ctrl_Frame1, text="关键字:")
Ctrl_Label1.place(x=180, y=14, width=55, height=22)
str_KeyWord = tkinter.StringVar() # 绑定变量
ctrl_KeyWord = tkinter.Entry(ctrl_Frame1, textvariable=str_KeyWord, font=('宋体', '9'))
ctrl_KeyWord.place(x=230, y=14, width=150, height=22)
int_CheckBox2 = tkinter.IntVar() # 绑定变量
ctrl_CheckBox2 = tkinter.Checkbutton(ctrl_Frame1, text='删除空行', variable=int_CheckBox2, font=('宋体', '9'))
ctrl_CheckBox2.place(x=14, y=36, height=22) # 考虑到对齐问题,不列入宽度,需要时手动加入 width=130
ctrl_CheckBox2.deselect() # 默认为未选中状态
int_CheckBox3 = tkinter.IntVar() # 绑定变量
ctrl_CheckBox3 = tkinter.Checkbutton(ctrl_Frame1, text='删除字符小于N的行', variable=int_CheckBox3, font=('宋体', '9'))
ctrl_CheckBox3.place(x=14, y=58, height=22) # 考虑到对齐问题,不列入宽度,需要时手动加入 width=130
ctrl_CheckBox3.deselect() # 默认为未选中状态
Ctrl_Label = tkinter.Label(ctrl_Frame1, text="N =")
Ctrl_Label.place(x=220, y=58, width=22, height=22)
str_KeyNum = tkinter.StringVar() # 绑定变量
ctrl_KeyNum = tkinter.Entry(ctrl_Frame1, textvariable=str_KeyNum, font=('宋体', '9'))
ctrl_KeyNum.place(x=250, y=58, width=22, height=22)
ctrl_OpenFileBtn = tkinter.Button(root, text='选择文件',
font=('宋体', '9'),
command=getTxtFiles) # 可在括号内加上调用函数部分 ,command=ctrl_OpenFileBtn_clicked
ctrl_OpenFileBtn.place(x=305, y=18, width=72, height=29)
# str_OutputPath = tkinter.StringVar() # 绑定变量
# ctrl_OutputPath = tkinter.Entry(root, textvariable=str_OutputPath, font=('宋体', '9'))
# ctrl_OutputPath.place(x=14, y=187, width=209, height=22)
root.mainloop()
开发者其他应用

讯飞文档app官方版25.2M13484人在玩讯飞文档app官方下载2022最新版是科大讯飞公司打造的一款在线协作文档软件,这款讯飞文档app跟腾讯文档的功能有点类似,都可以让团队在线上进行协作。
下载
腾讯会议官方版app90.7M14041人在玩腾讯会议官方最新版app专门为需要在线线上会员的小伙伴准备的非常实用的app工具,支持电脑移动端同步,给需要开会你带来最棒的办公体验,相信不少的小伙伴都会需要
下载
2022货车帮货主版app140.8M17149人在玩货车帮货主是成都运力科技有限公司旗下物流智能分配货运平台,覆盖全国360多个城市的物流货运平台,是一款为全国各地货主提供经验丰富、安全可靠的货车司机的找车发货软件。
下载
招才猫直聘官方app67.6M7290人在玩招才猫直聘是由58同城推出的商业直聘专用APP,全国1850万商家都在使用招才猫直聘!海量各个领域人才等你来发现、挖掘,你可以在58招财猫官网上看到人家的详细资料。
下载
口碑外卖商家版75.1M87人在玩口碑外卖掌柜是淘宝为入驻口碑外卖的商家提供的一款手机客户端,商家们可以通过口碑掌柜客户端查看店铺的最新订单并对自己的店铺进行管理,有新的订单软件会以语音的形式提醒你接单
下载
易企秀设计app43.7M7599人在玩易企秀设计app是一款免费的移动场景自营销管家工具,这款易企秀设计app可以帮你免费制作各类手机h5营销类应用,另外这款易企秀设计app还可以帮你查看手机网页的访问量。
下载
美团外卖商家版117.2M19211人在玩美团外卖商家版是美团外卖专门为商家们打造的一款手机客户端。如果你是入驻美团外卖的商家,那么你可以在这里更好地管理你的商铺,美团外卖商家版app轻松地查看用户的下单信息。
下载
易企秀设计44.8M170人在玩易企秀是一款专门为企业打造的微信辅助类应用,你可以通过易企秀设定微信页面的场景、颜色、文字版式等等,还可以通过它查看网页的访问量以及潜在客户报名等等消息。
下载
boss直聘招聘版手机版123.8M5450人在玩boss直聘招聘版手机版是一款用相亲交友的方式做招聘,让老板和求职者在平台上直接沟通的社交软件。Boss直聘分为面向求职者的”牛人版“和面向老板的”Boss版“。
下载
饿了么商家版最新版本134.7M8390人在玩饿了么商家手机客户端是饿了么外卖网为入驻商家提供的一款手机客户端软件,这款应用可以帮助商家使用手机快速接单,部分应用要求用户时时打开应用界面才能接收订单消息推送。
下载