该代码会弹出一个文件选择对话框,允许用户选择一个目录,然后程序会遍历该目录下的所有.docx
文件,删除每个文件的最后一页,并将修改后的文件保存为原文件名加上_new
后缀的新文件。
import tkinter as tk
from tkinter import filedialog
import os
import docx
def select_folder():
# 弹出选择文件夹对话框
folder_path = filedialog.askdirectory()
if folder_path:
# 遍历文件夹下所有的doc文件
for filename in os.listdir(folder_path):
if filename.lower().endswith('.docx'):
file_path = os.path.join(folder_path, filename)
# 打开并修改文档
doc = docx.Document(file_path)
if len(doc.paragraphs) > 0:
last_paragraph = doc.paragraphs[-1]
last_paragraph.remove()
# 生成新的文件名
new_filename = f"{os.path.splitext(filename)}new.docx"
new_file_path = os.path.join(folder_path, new_filename)
doc.save(new_file_path)
print(f"已处理文件:{filename}")
else:
print(f"文件{filename}是空文档,无需处理。")
# 创建图形界面
root = tk.Tk()
root.title("批量处理Word文档")
# 创建按钮
button = tk.Button(root, text="选择文件夹", command=select_folder)
button.pack()
# 运行图形界面循环
root.mainloop()
请运行上面提供的修正后的Python脚本,它应该能够按照您的要求工作:弹出一个文件夹选择对话框,让您选择包含.docx
文件的文件夹,然后程序会遍历该文件夹中的所有.docx
文件,删除每个文件的最后一页,并将修改后的文件保存为原文件名加上_new
后缀的新文件。
您需要将上述代码放入一个名为batch_edit_docx.py
的文件中,并确保已经安装了python-docx
和tkinter
库。接着,您可以按照以下步骤使用PyInstaller
将脚本打包成单个可执行文件:
-
打开命令行或终端。
-
安装
PyInstaller
,如果尚未安装的话,可以使用命令pip install pyinstaller
。 -
切换到脚本所在的目录。
-
运行命令
pyinstaller --onefile batch_edit_docx.py
。 -
等待打包过程结束,这可能需要一些时间。
-
打包完成后,在
dist
目录下会有一个名为batch_edit_docx
的可执行文件,您可以在任何安装了相应Python版本的Windows系统上运行它。
这样就可以将您的程序打包成一个单独的可执行文件了。如果您在打包过程中遇到任何问题,请告知我,我会尽力协助解决。