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

news2024/11/14 2:55:13

项目场景

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

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

在这里插入图片描述


环境需求

  • python 3.x+

程序代码

swap_names.py

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

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:

python swap_names.py

在这里插入图片描述


小结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2134547.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IC开发——Verilog简明教程

1. 基础概念 1.1. 逻辑值 逻辑0,低电平,对应电路中接地GND。 逻辑1,高电平,对应电路中的电源VCC。 逻辑Z,高阻态,对应电路的悬空。 逻辑X,未知态,数据仿真中可能存在,如…

Delphi Web和Web服务开发目前有哪些选择

Delphi Web和Web服务开发目前有哪些选择 Delphi Web和Web服务开发目前有以下几个选择: Delphi MVC Framework(https://github.com/delphimvcframework/delphimvcframework):这是一个开源的Delphi Web框架,基于MVC&am…

小程序uniapp关闭手势返回操作

需求:进入当前页面后,无法返回其他页面,禁止所有返回操作(手势返回、左上角返回按钮等) 解决: 方法一:wx.enableAlertBeforeUnload wx.enableAlertBeforeUnload 在onLoad里调用: on…

-isystem isystem 实验记录

1,isystem 的理论 2,实验方案 $ tree . ├── inc111 │ └── test.h ├── inc222 │ └── test.h └── src ├── a.out └── hello.c inc111/test.h: #pragma once#define NUM 111 inc222/test.h #pragma once#define N…

2024年9月中国数据库排行榜:openGauss系多点开花,根社区优势明显

在墨天轮发布的9月中国数据库流行度排行榜中,中国数据库产业格局进一步聚集刷新,呈现出3大显著特征: 开源势力力争上游显优势领先潮流;openGauss 开源根社区优势明显;阿里华为两极鼎立云上云下各争先; 开…

2024年第二届《英语世界》杯全国大学生英语听力大赛

下周开考! 一、主办单位 商务印书馆《英语世界》杂志社 二、时间安排 赛事报名时间:即日起-2024年11月15日 正式比赛阶段:第一场:2024年9月22日10:00-22:00 第二场:2024年10月27日10:00-22:00 第三场&#xff1…

安装2024最新版Android Studio 最详细教程(带图展示)

一、安装JDK (1)首先在除C盘以外的盘建立文件夹,分别保存软件位置,JDK位置与SDK位置, 特别注意:所有文件名中不要出现空格,而且每个文件夹都是为空的状态 这里我是在D盘中操作。 &#xff0…

综合型医院适合什么样的数据摆渡方式,才能服务与安全兼顾?

综合型医院,是提供全面医疗服务的综合型医院。综合型医院的服务对象广泛,包括儿童、成人、老年人等各年龄段的人群,以及患有各种疾病的患者。它们通过提供全面的医疗服务,保障人民群众的健康需求,是医疗卫生事业的重要…

IP-adapter masking

https://github.com/huggingface/diffusers/issues/6802https://github.com/huggingface/diffusers/issues/6802

Java后端编程语言进阶篇

第一章 函数式接口 函数式接口是Java 8中引入的一个新特性,只包含一个抽象方法的接口。 函数式接口可以使用Lambda表达式来实现,从而实现函数式编程的特性。 使用 FunctionalInterface标识接口是函数式接口,编译器才会检查接口是否符合函数…

linux-L3-linux 复制文件

linux 中要将文件file1.txt复制到目录dir中,可以使用以下命令 cp file1.txt dir/复制文件 cp /path/to/source/file /path/to/destination移动 mv /path/to/source/file /path/to/destination复制文件夹内的文件 cp -a /path/to/source/file /path/to/destinati…

孟德尔随机化分析和GWAS分析有什么区别?

大家好,我是邓飞。 最近一直在研究孟德尔随机化分析,已经从概念到实操了,程序已经跑通了,很开心。这几天写的博客: 孟德尔随机化的术语理解 从一篇孟德尔随机化文章看MR常见结果形式 对于GWAS分析,从原…

LRELHLNNN;亲水性抗肝纤维化多肽作为基础肽;I型胶原蛋白靶向肽;九肽LRELHLNNN

【LRELHLNNN 简介】 LRELHLNNN是一种多肽,它能够选择性地结合到I型胶原蛋白,具有亲和力为170 nM。LRELHLNNN是由9个氨基酸组成,其氨基酸序列为H-Leu-Arg-Glu-Leu-His-Leu-Asn-Asn-Asn-OH。LRELHLNNN因其与I型胶原蛋白的高亲和力而在生物医学领…

密码学---黄道十二宫

✨简单理解的概念:是一种换位密码。 🎀破解需要用到对角线的方式:第一个H,先向下移动1位,再向右移动2位,依次类推。 🎀接着对对角线重新排列,就能得到一段有序的代码 🎀 …

玩机搞机-----如何简单的使用ADB指令来卸载和冻结系统应用 无需root权限 详细操作图示教程

同类博文: 玩机搞机---卸载内置软件 无root权限卸载不需要的软件 安全卸载_无需root卸载彻底内置软件-CSDN博客 在很多时候我们需要卸载一些系统级的app。但如果直接手机端进行卸载的话。是无法正常卸载的。其实我们可以通过有些成品工具或者完全靠ADB指令来进行卸…

网红酒店|基于java的网红酒店预定系统(源码+数据库+文档)

酒店预定|网红酒店|网红酒店预定系统 目录 基于java的网红酒店预定系统 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&am…

4×4矩阵键盘详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.工作原理介绍 三、程序设计 main.c文件 button4_4.h文件 button4_4.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 ​​​​​矩阵键盘,又称为行列式键盘,是用4条I/O线作为行线,4…

【四范式】浅谈NLP发展的四个范式

自然语言处理(Natural Language Processing,NLP)是计算机科学,人工智能,语言学关于计算机和人类自然语言之间的相互作用的领域,是计算机科学领域与人工智能领域中的一个重要方向。NLP发展到今天已经进入到了…

[Python学习日记-19] 细讲数据类型——集合

[Python学习日记-19] 细讲数据类型——集合 简介 集合的创建 集合的增删查 集合的循环 集合的去重 集合的关系运算 简介 在前面我们学习到了列表、元组、字符串、字典这几种数据类型,在 Python 中还有最后一种数据类型,那就是集合,下面…

Cloudflare Pages 部署 Next.js 应用教程

Cloudflare Pages 部署 Next.js 应用教程 本教程将指导你如何将现有的 Next.js 应用部署到 Cloudflare Pages。 准备工作 安装部署依赖 首先,安装 cloudflare/next-on-pages: npm install --save-dev cloudflare/next-on-pages添加 wrangler.toml 配置文件 在项目根目录创建 …