news 2026/6/26 12:40:45

python语言JPGPNG图片文件名提取工具-输出TXT软件代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python语言JPGPNG图片文件名提取工具-输出TXT软件代码
importtkinterastkfromtkinterimportttk,filedialog,messageboximportosclassImageNameExtractTool:def__init__(self,root):# 初始化主窗口self.root=root self.root.title("JPG/PNG图片文件名提取工具(输出TXT)")self.root.geometry("600x350")# 适配功能调整窗口大小# 定义变量存储文件夹路径和输出TXT文件路径self.source_folder=tk.StringVar()self.output_txt=tk.StringVar()# 创建界面控件self.create_widgets()defcreate_widgets(self):# 1. 源文件夹选择区域(存放JPG/PNG图片的文件夹)frame1=ttk.Frame(self.root,padding="20 10 20 10")frame1.pack(fill=tk.X,expand=False)ttk.Label(frame1,text="待提取图片的文件夹:").grid(row=0,column=0,sticky=tk.W,padx=5,pady=5)ttk.Entry(frame1,textvariable=self.source_folder,width=40).grid(row=0,column=1,padx=5,pady=5)ttk.Button(frame1,text="选择文件夹",command=self.select_source_folder).grid(row=0,column=2,padx=5,pady=5)# 2. 输出TXT文件选择区域frame2=ttk.Frame(self.root,padding="20 10 20 10")frame2.pack(fill=tk.X,expand=False)ttk.Label(frame2,text="提取后保存的TXT文件:").grid(row=0,column=0,sticky=tk.W,padx=5,pady=5)ttk.Entry(frame2,textvariable=self.output_txt,width=40).grid(row=0,column=1,padx=5,pady=5)ttk.Button(frame2,text="保存为",command=self.select_output_txt).grid(row=0,column=2,padx=5,pady=5)# 3. 提取按钮区域(核心操作按钮)frame3=ttk.Frame(self.root,padding="20 30 20 30")frame3.pack(fill=tk.BOTH,expand=True)self.extract_btn=ttk.Button(frame3,text="开始提取图片文件名",command=self.extract_image_names,style="Accent.TButton")self.extract_btn.pack(expand=True)# 4. 状态提示区域frame4=ttk.Frame(self.root,padding="20 10 20 20")frame4.pack(fill=tk.X,expand=False)self.status_label=ttk.Label(frame4,text="状态:未开始",foreground="gray")self.status_label.pack(anchor=tk.CENTER)defselect_source_folder(self):"""选择存放JPG/PNG图片的源文件夹"""folder_path=filedialog.askdirectory(title="选择存放JPG/PNG图片的文件夹")iffolder_path:self.source_folder.set(folder_path)self.status_label.config(text=f"状态:已选择源文件夹:{os.path.basename(folder_path)}",foreground="blue")defselect_output_txt(self):"""选择提取结果保存的TXT文件路径"""file_path=filedialog.asksaveasfilename(title="保存图片文件名的TXT文件",defaultextension=".txt",filetypes=[("文本文档","*.txt"),("所有文件","*.*")])iffile_path:self.output_txt.set(file_path)self.status_label.config(text=f"状态:已选择输出文件:{os.path.basename(file_path)}",foreground="blue")defextract_image_names(self):"""核心功能:提取JPG/PNG图片文件名并保存到TXT"""# 获取输入输出路径source_dir=self.source_folder.get().strip()output_path=self.output_txt.get().strip()# 路径有效性校验ifnotsource_dirornotos.path.isdir(source_dir):messagebox.showerror("错误","请先选择有效的图片文件夹!")returnifnotoutput_path:messagebox.showerror("错误","请先选择输出TXT文件的保存路径!")return# 筛选文件夹内所有JPG和PNG图片文件(忽略大小写)image_files=[]image_suffixes=(".jpg",".jpeg",".png")# 兼容jpeg格式,更全面forfilenameinos.listdir(source_dir):# 筛选图片后缀,忽略大小写iffilename.lower().endswith(image_suffixes):file_full_path=os.path.join(source_dir,filename)# 确保是文件(排除同名文件夹)ifos.path.isfile(file_full_path):image_files.append(filename)# 校验是否存在图片文件ifnotimage_files:messagebox.showwarning("警告","所选文件夹中未找到JPG/PNG格式的图片文件!")self.status_label.config(text="状态:未找到图片文件,提取失败",foreground="red")return# 按文件名排序,保证提取顺序稳定可追溯image_files.sort()try:# 以UTF-8编码写入TXT文件,兼容中文文件名withopen(output_path,"w",encoding="utf-8")astxt_file:# 遍历图片文件名,逐行写入(也可自定义格式)total_images=len(image_files)forindex,img_nameinenumerate(image_files,1):# 逐行写入图片文件名,可自定义格式(如添加序号)txt_file.write(f"{img_name}\n")# 更新实时提取进度self.status_label.config(text=f"状态:正在提取{index}/{total_images}个图片文件名...",foreground="orange")# 强制刷新界面,显示最新状态self.root.update_idletasks()# 提取完成提示messagebox.showinfo("成功",f"图片文件名提取完成!\n共提取{total_images}个图片文件\n输出TXT文件:{output_path}")self.status_label.config(text=f"状态:提取成功!共处理{total_images}个图片文件",foreground="green")exceptExceptionase:# 异常捕获与友好提示error_info=f"提取失败!错误信息:{str(e)}"messagebox.showerror("错误",error_info)self.status_label.config(text=f"状态:{error_info}",foreground="red")if__name__=="__main__":# 创建主窗口并运行程序root=tk.Tk()app=ImageNameExtractTool(root)root.mainloop()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/19 9:33:31

PyTorch-CUDA-v2.7镜像是否可用于语音识别系统

PyTorch-CUDA-v2.7镜像是否可用于语音识别系统 在当今智能语音技术飞速发展的背景下,构建高效、稳定的语音识别系统已成为AI工程实践中的核心任务之一。无论是智能助手、会议转录,还是实时字幕生成,背后都依赖于深度学习模型对音频信号的精准…

作者头像 李华
网站建设 2026/6/23 11:03:27

PyTorch-CUDA-v2.7镜像中导出实验报告用于团队协作

PyTorch-CUDA-v2.7镜像中导出实验报告用于团队协作 在AI研发团队日常工作中,一个常见的场景是:某位成员在一个“完美运行”的本地环境中完成模型训练,信心满满地将代码推送到仓库,结果其他同事拉下来一跑,却报出各种Im…

作者头像 李华
网站建设 2026/6/15 6:05:26

4 个近期 yyds 的 AI 开源项目,绝了。

01 谷歌开源 AI Agent 大杀器 谷歌刚刚开源了一个 AI Agent 神器:Gemini CLI,直接把自家最强的 Gemini AI 模型搬到了你的命令行里。 24 小时就斩获了 2W 多颗星星,相当火爆呀。 支持 Google 搜索联网、多模态内容生成、内置 MCP 支持、自…

作者头像 李华
网站建设 2026/6/16 17:32:07

计算机Java毕设实战-基于springboot+vue个性化电影推荐系统的设计与实现影视推荐系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/14 0:33:27

PyTorch-CUDA-v2.7镜像训练BERT模型实测性能对比

PyTorch-CUDA-v2.7镜像训练BERT模型实测性能对比 在当前大模型训练日益普及的背景下,如何快速构建一个稳定、高效且可复现的深度学习环境,已成为AI工程师和研究人员面临的核心挑战之一。尤其是在使用如BERT这类参数量巨大、计算密集的Transformer模型时&…

作者头像 李华
网站建设 2026/6/19 9:13:19

PyTorch-CUDA-v2.7镜像助力大模型Token生成效率翻倍

PyTorch-CUDA-v2.7镜像助力大模型Token生成效率翻倍 在大模型推理场景中,一个常见的尴尬局面是:硬件投入不菲,显卡动辄数万元,但实际跑起 Llama 或 Qwen 这类主流模型时,GPU 利用率却常常徘徊在 30% 以下。更令人头疼的…

作者头像 李华