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

小结

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

相关推荐
牛客企业服务2 分钟前
2025年AI面试推荐榜单,数字化招聘转型优选
人工智能·python·算法·面试·职场和发展·金融·求职招聘
胡斌附体14 分钟前
linux测试端口是否可被外部访问
linux·运维·服务器·python·测试·端口测试·临时服务器
likeGhee1 小时前
python缓存装饰器实现方案
开发语言·python·缓存
项目題供诗1 小时前
黑马python(二十五)
开发语言·python
读书点滴1 小时前
笨方法学python -练习14
java·前端·python
笑衬人心。1 小时前
Ubuntu 22.04 修改默认 Python 版本为 Python3 笔记
笔记·python·ubuntu
蛋仔聊测试2 小时前
Playwright 中 Page 对象的常用方法详解
python
前端付豪2 小时前
17、自动化才是正义:用 Python 接管你的日常琐事
后端·python
jioulongzi2 小时前
记录一次莫名奇妙的跨域502(badgateway)错误
开发语言·python
破无差2 小时前
python实现简单的地图绘制与标记20250705
python