我用python写的一个小说格式化工具(去除中英文标点符号)
2025-03-23 17:25:28 404 分享链接 开发笔记 python
import string
import tkinter as tk
from tkinter import scrolledtext
from tkinter import messagebox
# 合并中文和英文标点符号
punctuations = string.punctuation + '!?。。,、;:“”‘’()〔〕【】﹃﹄「」﹁﹂—…-~《》〈〉'
def remove_punctuation_and_newline(text):
result = ""
for char in text:
if char in punctuations:
result += '\n'
else:
result += char
# 去除多余的空行
result = '\n'.join(line.strip() for line in result.split('\n') if line.strip())
return result
def convert_text():
input_text = input_textbox.get("1.0", tk.END).strip()
output_text = remove_punctuation_and_newline(input_text)
output_textbox.delete("1.0", tk.END)
output_textbox.insert(tk.END, output_text)
def clear_input_text():
input_textbox.delete("1.0", tk.END)
def copy_output_text():
output_text = output_textbox.get("1.0", tk.END).strip()
if not output_text:
messagebox.showerror("错误", "输出框没有内容,无法复制!")
return
try:
root.clipboard_clear()
root.clipboard_append(output_text)
messagebox.showinfo("提示", "复制成功!")
except Exception as e:
messagebox.showerror("错误", f"复制失败,原因:{str(e)}")
# 创建主窗口
root = tk.Tk()
root.title("标点符号去除并换行工具")
# 设置窗口大小
root.geometry("1024x768")
# 配置网格布局的列权重
root.columnconfigure(0, weight=45)
root.columnconfigure(1, weight=10)
root.columnconfigure(2, weight=45)
root.rowconfigure(0, weight=1)
# 创建输入文本框
input_textbox = scrolledtext.ScrolledText(root, width=60, height=40)
input_textbox.grid(row=0, column=0, padx=10, pady=10, sticky="nsew")
# 创建按钮框架
button_frame = tk.Frame(root)
button_frame.grid(row=0, column=1, padx=10, pady=10, sticky="n")
# 创建转换按钮
convert_button = tk.Button(button_frame, text="点击转换", command=convert_text)
convert_button.pack(pady=10)
# 创建清除文本按钮
clear_button = tk.Button(button_frame, text="清除文本", command=clear_input_text)
clear_button.pack(pady=10)
# 创建复制结果按钮
copy_button = tk.Button(button_frame, text="复制结果", command=copy_output_text)
copy_button.pack(pady=10)
# 创建输出文本框
output_textbox = scrolledtext.ScrolledText(root, width=60, height=40)
output_textbox.grid(row=0, column=2, padx=10, pady=10, sticky="nsew")
# 运行主循环
root.mainloop()

最近更新
- 2026-03-16 18:06
- 故事文本分镜分析与拆解模板
- 2026-03-15 00:37
- 文生图提示词优化技巧:具象化描述、要有画面感
- 2026-03-12 17:04
- 除了国风动漫还有哪些常见的动漫风格适合 AI 绘画?
- 2026-03-12 16:35
- 水墨写实、水墨写意有什么区别,还有哪些水墨家族?
- 2026-03-12 16:22
- 分享5个治愈系漫剧高频场景提示词,包括(色调、光影、风格、质感)
- 2026-03-12 16:06
- 分享10个宅斗漫剧高频场景提示词,包括(色调、光影、风格、质感)
- 2026-03-12 15:56
- 分享10个古言漫剧高频场景提示词,包括(色调、光影、风格、质感)
- 2026-03-10 19:11
- 按人物主体公式写10个与李白同时期不同诗人不同环境的提示词(唯美古风)
- 2026-03-10 18:58
- 即梦唯美古风专用、可直接复制粘贴的常用词库
- 2026-03-10 18:44
- 即梦文生图提示词12套主体完整公式(全品类、无遗漏)