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

项目场景

处理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.mzph.cn/news/879428.shtml

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

相关文章

self-play RL学习笔记

让AI用随机的路径尝试新的任务,如果效果超预期,那就更新神经网络的权重,使得AI记住多使用这个成功的事件,再开始下一次的尝试。——llya Sutskever 这两天炸裂朋友圈的OpenAI草莓大模型o1和此前代码能力大幅升级的Claude 3.5&…

three.js KeyframeTrack

KeyframeTrack 关键帧轨道(KeyframeTrack)是关键帧(keyframes)的定时序列, 它由时间和相关值的列表组成, 用来让一个对象的某个特定属性动起来。 在使用手册的“下一步”章节中,“动画系统”一文对three.js动画系统中的不同元素作出了概述 和JSON model format的…

基于less和scss 循环生成css

效果 一、less代码 复制代码 item-count: 12; // 生成多少个 .item 类.item-loop(n) when (n > 0) {.icon{n} {background: url(../../assets/images/menu/icon{n}.png) no-repeat;background-size: 100% 100%;}.item-loop(n - 1);}.item-loop(item-count);二、scss代码 f…

c++临时对象导致的生命周期问题

对象的生命周期是c中非常重要的概念,它直接决定了你的程序是否正确以及是否存在安全问题。 今天要说的临时变量导致的生命周期问题是非常常见的,很多时候没有一定经验甚至没法识别出来。光是我自己写、review、回答别人的问题就犯了或者看到了许许多多这…

TCL一面(HR)

1. 假设你是正在面试前端开发工程师的候选人,面试官让你详细讲一讲你作为队长参加支付宝小程序开发者大赛,你的作品是“甲骨文猜谜与探索”,请你讲一讲反思、收获和亮点。 在我作为队长参加支付宝小程序开发者大赛的过程中,我们的…

【人工智能】Transformers之Pipeline(十七):文本分类(text-classification)

目录 一、引言 二、文本分类(text-classification) 2.1 概述 2.2 DistilBERT—BERT 的精简版:更小、更快、更便宜、更轻便 2.3 应用场景​​​​​​​ 2.4 pipeline参数 2.4.1 pipeline对象实例化参数 2.4.2 pipeline对象使用参数 …

通过shell脚本一键修改Linux主机名和IP地址脚本

目录 1.前言 2.shell脚本的具体实现以及解析 1.1脚本功能概述 1.2脚本结构分析 3.致谢 1.前言 在复杂的 Linux 系统管理中,高效准确地进行配置调整是至关重要的任务。当面临需要同时修改主机名和 IP 地址的情况时,手动操作不仅繁琐易错&#xf…

【Hot100】LeetCode—287. 寻找重复数

目录 1- 思路题目识别快慢指针-类比链表判环 2- 实现⭐31. 下一个排列——题解思路 3- ACM 实现 原题链接:287. 寻找重复数 1- 思路 题目识别 识别1 :给定一个数组,寻找数组中的重复数。必须用 O(1) 的空间复杂度,且不能修改数组…

VMware Fusion Pro 13 Mac版虚拟机 安装Win11系统教程

Mac分享吧 文章目录 Win11安装完成,软件打开效果一、VMware安装Windows11虚拟机1️⃣:准备镜像2️⃣:创建虚拟机3️⃣:虚拟机设置4️⃣:安装虚拟机5️⃣:解决连不上网问题 安装完成!&#xff0…

fuxa搭建与使用(web组态)

1. 安装Node.js -> npm安装 参考网址:https://blog.csdn.net/WHF__/article/details/129362462 一、安装运行 C:\WINDOWS\system32>node -v v20.17.0 C:\WINDOWS\system32>npm -v 10.8.2 二、环境配置 在安装路径(D:\Program_Files\nodejs&a…

[数据集][目标检测]车油口挡板开关闭合检测数据集VOC+YOLO格式138张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):138 标注数量(xml文件个数):138 标注数量(txt文件个数):138 标注类别…

【2024.08】图模互补:知识图谱与大模型融合综述-笔记

阅读目的:假设已有一个知识图谱,如何利用图谱增强模型的问答,如何检索知识图谱、知识图谱与模型的文本如何相互交互、如何利用知识图谱增强模型回答的可解释性。 从综述中抽取感兴趣的论文进一步阅读。 来源:图模互补&#xff1…

TakePhotoX

Demo下载 TakePhotoXDemo Android 版本 APK 下载 - PGYER.COM 安装密码:123456 GitHub - yijiebuyi/TakePhotoX: 基于CameraX 实现拍照,二维码扫描,录像 功能 支持前后摄像头切换支持4:3 16:9 1:1 图片拍摄支持二维码扫描识别支持灯光控制…

Docker零基础入门

参考课程https://www.bilibili.com/video/BV1VC4y177re/?vd_source=b15169a302bee35f484245aecc69d4dd 参考书籍Docker 实践 - 面向 AI 开发人员的 Docker 实践 (dockerpractice.readthedocs.io) 1. 什么是Docker 1.1. Docker起源 随着计算机的发展,计算机上已经可以运行多…

CAN通讯常见错误纠正

CAN通讯常见错误 1.在使用CAN设备进行数据通讯时,有时候参数配置不当可能就会导致通讯的失败,如下图1所示,出现通信错误的原因是两个设备的波特率配置不一致导致。 图1 2.有时候在配置参数的时候,不能只关注波特率速度配置一致就…

Script-server: 一款开源的脚本管理工具,为你的Python脚本提供一个直观的 Web UI

在日常工作中,我们经常会使用各种脚本来自动化任务,提升效率。但传统的脚本管理方式往往伴随着一些困扰:复杂的命令行操作、难以理解的脚本参数、缺乏直观的反馈等等。这些问题,让原本应该便捷的脚本管理变得繁琐。 Script-server…

MySQL的(DDL、DCL、DQL、DML)语言学习

DDL(数据定义语言) 数据库操作 查询所有数据库: SHOW DATABASES;查询当前数据库: SELECT DATABASE();创建数据库: CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];删…

太速科技-基于XC7Z100+AD9361的双收双发无线电射频板卡

基于XC7Z100AD9361的双收双发无线电射频板卡 一、板卡概述 基于XC7Z100AD9361的双收双发无线电射频板卡是基于Xilinx ZYNQ FPGA和ADI的无线收发芯片AD9361开发的专用功能板卡,用于4G小基站,无线图传,数据收发等领域。 二、板卡…

QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第三期]

QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第三期] 第三期介绍:频道模块之频道成员 目录 QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第三期]第三期介绍:频道模块之频道成员获取子频道在线成员数获取频道成员列表获取频道身份组成员列…

Java项目: 基于SpringBoot+mybatis+maven课程答疑系统(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven课程答疑系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…