Python_两个jpg图片文件名称互换

项目场景

处理Adobe Photoshop导出的两个切片的顺序错误问题

小编在进行图片切片处理的时候,发现用PS导出的切片顺序错误,例如用PS导出的切片分别为test_01.jpg,test_02.jpg,但实际的使用需求是将两个图片的顺序调换,调换后名称无所谓,重点是顺序要对,如下图所示:


环境需求

  • python 3.x+

程序代码

swap_names.py

创建swap_names.py,将下面的代码复制到swap_names.py中,保存。

python 复制代码
import os  
  
def swap_names(directory='.'):  
    # 遍历指定目录下的所有文件  
    for filename in os.listdir(directory):  
        # 检查文件是否是jpg图片  
        if filename.lower().endswith('.jpg'):  
            # 分离文件名和扩展名  
            base, ext = os.path.splitext(filename)  

            # 检查文件名是否以'01'或'02'结尾  
            if base.endswith('01'):
                print (base)
                # 构造新的文件名,将'01'替换为'02'  
                new_filename = 'Anew'+base[:-2] + '02' + ext  
#                 print (new_filename)
                # 检查新文件名是否已存在,以避免覆盖  
                if new_filename not in os.listdir(directory):  
                    os.rename(os.path.join(directory, filename),os.path.join(directory, new_filename))  
                    print(f"Renamed1 '{filename}' to '{new_filename}'")  
            elif base.endswith('02'):  
                # 构造新的文件名,将'02'替换为'01' 
                new_filename2 = 'Anew'+base[:-2] + '01' + ext  
                print (new_filename2)
                # 检查新文件名是否已存在  
                if new_filename2 not in os.listdir(directory):  
                    os.rename(os.path.join(directory, filename), os.path.join(directory, new_filename2))  
                    print(f"Renamed2 '{filename}' to '{new_filename2}'")  
  
if __name__ == "__main__":  
    #调用函数,默认处理当前目录  
    swap_names()
    print ("Done!")

操作步骤

将上述创建的文件复制到和图片的文件下

然后在弹出的窗口内输入,点击Enter:

dos 复制代码
python swap_names.py

小结

上述代码的局限性比较强,只是针对两张图片的互换名称,对于其他情况,需另行编写代码。

相关推荐
Learn-Python12 小时前
MongoDB-only方法
python·sql
小途软件13 小时前
用于机器人电池电量预测的Sarsa强化学习混合集成方法
java·人工智能·pytorch·python·深度学习·语言模型
扫地的小何尚13 小时前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
wanglei20070814 小时前
生产者消费者
开发语言·python
清水白石00814 小时前
《从零到进阶:Pydantic v1 与 v2 的核心差异与零成本校验实现原理》
数据库·python
昵称已被吞噬~‘(*@﹏@*)’~14 小时前
【RL+空战】学习记录03:基于JSBSim构造简易空空导弹模型,并结合python接口调用测试
开发语言·人工智能·python·学习·深度强化学习·jsbsim·空战
2501_9418779815 小时前
从配置热更新到运行时自适应的互联网工程语法演进与多语言实践随笔分享
开发语言·前端·python
酩酊仙人15 小时前
fastmcp构建mcp server和client
python·ai·mcp
且去填词15 小时前
DeepSeek API 深度解析:从流式输出、Function Calling 到构建拥有“手脚”的 AI 应用
人工智能·python·语言模型·llm·agent·deepseek
rgeshfgreh16 小时前
Python条件与循环实战指南
python