使用Python为目录下PNG文件生成对应TXT及解决重命名格式问题问询
修复后的Python代码
import os dir_path = 'user/to/my/path' # 替换为你的实际目录路径 i = 1 # 遍历目录下所有png文件 for filename in os.listdir(dir_path): if not filename.lower().endswith(".png"): continue # 拼接完整路径,解决FileNotFoundError old_full_path = os.path.join(dir_path, filename) # 提前提取原文件名有效字段,避免新增序号干扰分割逻辑 original_name_no_ext = os.path.splitext(filename)[0] raw_parts = original_name_no_ext.split('.') clean_parts = [part.strip() for part in raw_parts if part.strip()] # 给png文件添加递增序号前缀 new_png_name = f"#{i:02d}{filename}" new_png_full_path = os.path.join(dir_path, new_png_name) os.rename(old_full_path, new_png_full_path) # 生成对应独立TXT文件 txt_name = f"{os.path.splitext(new_png_name)[0]}.txt" txt_full_path = os.path.join(dir_path, txt_name) with open(txt_full_path, 'w', encoding='utf-8') as f: # 写入序号头 f.write(f"#{i}\n") # 逐行写入清洗后的字段 for part in clean_parts: f.write(f"{part}\n") i += 1
关键修改说明
- 修复
FileNotFoundError:所有文件操作都拼接了目录完整路径,避免系统在默认工作目录找不到目标文件 - 优化文件名清洗逻辑:放弃原有空格替换方案,改用按
.分割原文件名后逐个清洗两端空格、过滤空字符串,彻底解决多余点号、空格的处理问题 - 调整TXT生成逻辑:每个PNG文件处理时同步生成同名TXT文件,不再写入统一
output.txt,内容格式完全匹配需求
内容的提问来源于stack exchange,提问作者Ali Ebadi
相关产品推荐
相关产品推荐

