import os
import tkinter as tk
from tkinter import messagebox
import edit
def delete_lines_range():
# 实现删除指定行范围的内容
input_path = filename_entry.get()
filename = input_path.replace('\\', '/') # 替换字符串中\,变为python可读的地址
start_line = int(start_entry.get())
end_line = int(end_entry.get())
if '.txt' in filename:
# 执行相关操作
try:
edit.delete_lines_range(filename, start_line, end_line)
# 在弹窗中显示结果
messagebox.showinfo("执行成功")
except:
# 在弹窗中显示结果
messagebox.showinfo("执行失败")
else:
filenames = os.listdir(filename)
results = []
for i in filenames:
if i.endswith('.txt'):
txt_name = filename + '/' + i
try:
edit.delete_lines_range(txt_name, start_line, end_line)
# 在弹窗中显示结果
output_str = f"{i}执行成功\n"
except:
# 在弹窗中显示结果
output_str = f"{i}执行失败\n"
results.append(output_str)
messagebox.showinfo("执行结果", str(results))
def modify_keyword():
# 实现修改指定关键词
input_path = filename_entry.get()
filename = input_path.replace('\\', '/') # 替换字符串中\,变为python可读的地址
old_keyword = old_keyword_entry.get()
new_keyword = new_keyword_entry.get()
if '.txt' in filename:
# 执行相关操作
try:
edit.modify_keyword(filename, old_keyword, new_keyword)
# 在弹窗中显示结果
messagebox.showinfo("执行成功")
except:
# 在弹窗中显示结果
messagebox.showinfo("执行失败")
else:
filenames = os.listdir(filename)
results = []
for i in filenames:
if i.endswith('.txt'):
txt_name = filename + '/' + i
# 执行相关操作
try:
edit.modify_keyword(txt_name, old_keyword, new_keyword)
# 在弹窗中显示结果
output_str = f"{i}执行成功\n"
except:
# 在弹窗中显示结果
output_str = f"{i}执行失败\n"
results.append(output_str)
messagebox.showinfo("执行结果", str(results))
def remove_duplicates():
# 实现删除重复项目
input_path = filename_entry.get()
filename = input_path.replace('\\', '/') # 替换字符串中\,变为python可读的地址
# 执行相关操作
if '.txt' in filename:
# 执行相关操作
try:
edit.remove_duplicates(filename)
# 在弹窗中显示结果
messagebox.showinfo("执行成功")
except:
# 在弹窗中显示结果
messagebox.showinfo("执行失败")
else:
filenames = os.listdir(filename)
results = []
for i in filenames:
if i.endswith('.txt'):
txt_name = filename + '/' + i
# 执行相关操作
try:
edit.remove_duplicates(txt_name)
output_str = f"{i} 执行成功\n"
except:
output_str = f"{i} 执行失败\n"
results.append(output_str)
messagebox.showinfo("执行结果", str(results))
def append_content():
# 实现新增内容
input_path = filename_entry.get()
filename = input_path.replace('\\', '/') # 替换字符串中\,变为python可读的地址
new_content = new_content_entry.get()
# 执行相关操作
if '.txt' in filename:
try:
# 执行相关操作
edit.append_content(filename, new_content)
# 在弹窗中显示结果
messagebox.showinfo("执行成功")
except:
messagebox.showinfo("执行失败")
else:
filenames = os.listdir(filename)
results = []
for i in filenames:
if i.endswith('.txt'):
txt_name = filename + '/' + i
# 执行相关操作
try:
edit.append_content(txt_name, new_content)
output_str = f"{i} 执行成功\n"
except:
output_str = f"{i} 执行失败\n"
results.append(output_str)
messagebox.showinfo("执行结果", str(results))
def change_encoding():
# 实现修改编码格式
input_path = filename_entry.get()
filename = input_path.replace('\\', '/') # 替换字符串中\,变为python可读的地址
encoding = encoding_entry.get()
# 执行相关操作
if '.txt' in filename:
try:
# 执行相关操作
edit.change_encoding(filename, encoding)
# 在弹窗中显示结果
messagebox.showinfo("执行成功")
except:
messagebox.showinfo("执行失败")
else:
filenames = os.listdir(filename)
results = []
for i in filenames:
if i.endswith('.txt'):
txt_name = filename + '/' + i
# 执行相关操作
edit.change_encoding(txt_name, encoding)
output_str = f"{i} 执行成功\n"
results.append(output_str)
messagebox.showinfo("执行结果", str(results))
def execute_function():
# 根据单选按钮的选择执行相应函数
selection = function_selection.get()
if selection == 1:
delete_lines_range()
elif selection == 2:
modify_keyword()
elif selection == 3:
remove_duplicates()
elif selection == 4:
append_content()
elif selection == 5:
change_encoding()
# 创建界面窗口
window = tk.Tk()
# 单选按钮
function_selection = tk.IntVar()
read_specific_line_radio = tk.Radiobutton(window, text="删除指定行", variable=function_selection, value=1)
read_specific_line_radio.pack()
count_keyword_occurrences_radio = tk.Radiobutton(window, text="修改指定关键词", variable=function_selection,
value=2)
count_keyword_occurrences_radio.pack()
read_between_keywords_radio = tk.Radiobutton(window, text="删除重复项目", variable=function_selection,
value=3)
read_between_keywords_radio.pack()
create_empty_txt_radio = tk.Radiobutton(window, text="新增内容", variable=function_selection, value=4)
create_empty_txt_radio.pack()
create_empty_txt_radio = tk.Radiobutton(window, text="修改编码格式", variable=function_selection, value=5)
create_empty_txt_radio.pack()
# 标签和文本框
filename_label = tk.Label(window, text="文件名:")
filename_label.pack()
filename_entry = tk.Entry(window)
filename_entry.pack()
start_label = tk.Label(window, text="开始行:")
start_label.pack()
start_entry = tk.Entry(window)
start_entry.pack()
end_label = tk.Label(window, text="结束行:")
end_label.pack()
end_entry = tk.Entry(window)
end_entry.pack()
old_keyword_label = tk.Label(window, text="原关键词")
old_keyword_label.pack()
old_keyword_entry = tk.Entry(window)
old_keyword_entry.pack()
new_keyword_label = tk.Label(window, text="新关键词")
new_keyword_label.pack()
new_keyword_entry = tk.Entry(window)
new_keyword_entry.pack()
new_content_label = tk.Label(window, text="新增内容")
new_content_label.pack()
new_content_entry = tk.Entry(window)
new_content_entry.pack()
encoding_label = tk.Label(window, text="�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
分为函数和界面代码,代码整体框架: # 1.编写实现删除指定行的函数 # 2.编写修改指定关键词的函数 # 3.编写删除重复项目的函数 # 4.编写新增内容的函数 # 5.编写修改编码格式的函数 # 6.创建界面窗口 # 6.1获取多选按钮状态 # 6.2创建界面控件:5个单选按钮,6个标签和单行编辑框,1个执行按钮 # 6.3单选按钮和执行链接对应函数 关于功能5修改编码格式——写该功能主要因为,经常遇到一些文本文件由于编码格式不一致的问题,导致无法用写好的算法进行读取。 对于该功能需要注意的是,编码格式不能写错,请在使用前先备份,写错有可能导致文件被清空。 备注: 由于python读取地址格式的问题,本代码额外增加了转换,直接复制粘贴就可以。 可在b站看使用教程效果,链接如下: https://www.bilibili.com/video/BV1ZP411a7Uu/
资源推荐
资源详情
资源评论
收起资源包目录
文本文件批量修改.zip (3个子文件)
edit_screen.py 8KB
edit_screen.exe 9.7MB
edit.py 2KB
共 3 条
- 1
资源评论
parry学习记录
- 粉丝: 0
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- TOWER DEFENSE ZOMBIE WAR [1.01].zip
- GBT 27930 国标充电CAN报文解析 DBC文件
- 毕业设计基于C++和QT开发的智能售货系统(饮料售卖机)源码(高分毕设)
- TH2024005基于微信平台的文玩交易小程序ssm.zip
- java高校职工工资管理系统
- 零基础学AI-python语言:python基础语法(课件部分)
- IMT5G推进组发布5G无人机应用白皮书
- 基于Java SSM写的停车场管理系统,加入了车牌识别和数据分析
- 2025年P气瓶充装模拟考试卷
- 【java毕业设计】基于spring boot心理健康服务系统(springboot+vue+mysql+说明文档).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功