Python中批量修改文件名,去除某些内容

环境:Window10 + Python3.9 + PyCharm(2023.1.3)

-------------------------------------****************** ** *********************-----------------------------------------

这是在Python中批量将指定文件夹下相似的文件名,提取文件名有效信息,精简文件名,去除烦人信息。

-------------------------------------****************** ** *********************-----------------------------------------

开始时是这样

在这里插入图片描述

然后让他变成了这样

在这里插入图片描述

Python中批量修改文件名,去除某些内容

-------------------------------------****************** ** *********************-----------------------------------------

代码实现:

# --** coding="UTF-8" **--
# project:Small_Case
# author:SueMagic  time:2019-05-11
# latest time:2024-04-02
import os, time
import re
import sys# 02-imageonline.co-61986-1
# origin1-imageonline.co-921510-4
RE_FILE_NAME_FORMAT = "[a-zA-Z0-9_]+-imageonline.co-(\d{5,7})-(.*)\.png"pathString = """
D:\picture\imageonline.co-01
D:\picture\imageonline.co-02
D:\picture\imageonline.co-03
D:\picture\imageonline.co-04
D:\picture\imageonline.co-05
D:\picture\imageonline.co-06
D:\picture\imageonline.co-07
D:\picture\imageonline.co-08
"""class BatchRename():def __init__(self, str):self.path = []pathList = str.split()for path in pathList:path = os.path.abspath(path)if (os.path.exists(path)):self.path.append(path)print({"self.path": self.path})""""修改后缀名"""def change_suffix(self, path):  """修改文件名,叠加数字"""def change_file_name(self, path):"""获取当前路径下的文件目录"""def getFileNames(self, path):return os.listdir(path)"""某些部分删除,替换处"""def renameOnefile(self, src_name, dst_name):os.rename(src_name, dst_name)"""修改文件名,某些部分删除"""def batchRename(self, path):fileNames = self.getFileNames(path)print("修改前:{}-{}".format(path, fileNames))rule = re.compile(RE_FILE_NAME_FORMAT)print("现在rule是" + str(rule))for fileName in fileNames:if fileName.endswith('.png'):subNames = rule.findall(fileName)if (len(subNames) > 0):sn, name = subNames[0]newFileName = "{}-{}.png".format(sn, name)print("这里是" + str(newFileName))srcName = os.path.join(os.path.abspath(path), fileName)dstName = os.path.join(os.path.abspath(path), newFileName)self.renameOnefile(srcName, dstName)print("修改后:{}-{}".format(path, self.getFileNames(path)))def runBatchProc(self):for path in self.path:self.batchRename(path)if __name__ == '__main__':batch_name = BatchRename(pathString)batch_name.runBatchProc()# change_suffix()# change_file_name()

-------------------------------------****************** ** *********************-----------------------------------------

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

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

相关文章

llama.cpp运行qwen0.5B

编译llama.cp 参考 下载模型 05b模型下载 转化模型 创建虚拟环境 conda create --prefixD:\miniconda3\envs\llamacpp python3.10 conda activate D:\miniconda3\envs\llamacpp安装所需要的包 cd G:\Cpp\llama.cpp-master pip install -r requirements.txt python conver…

什么!Intel/AMD/Apple Silicon也能本地部署的Llama工具来了

主流的LLM都需要通过CUDA才能高效的运行在本地,但是随着Github上出现了Llama.cpp这个神器,一切都改变了。它通过AVX指令和MPI来实现CPU上并行计算,从而在本地计算机高效地运行各种主流的类Llama模型。同时它也支持metal,使得Apple…

go包下载时报proxyconnect tcp: dial tcp 127.0.0.1:80: connectex错误的解决方案

一大早的GoLand就开始抽风了,好几个文件import都红了,于是我正常操作点击提示的sync,但是却报了一堆错: go: downloading google.golang.org/grpc v1.61.1 go: downloading google.golang.org/genproto v0.0.0-20240228224816-df9…

LeetCode-142. 环形链表 II【哈希表 链表 双指针】

LeetCode-142. 环形链表 II【哈希表 链表 双指针】 题目描述:解题思路一:快慢指针 判断是否有环见解题思路二:set()解题思路三:0 题目描述: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如…

C++重载和模板

重载与模板 函数模板可以被另一个模板或一个普通非模板函数重载。 与往常一样,名字相同的函数必须具有不同数量或类型的参数。 如果涉及函数模板,则函数匹配规则会在以下几方面受到影响: 对于一个调用,其候选函数包括所有模板…

2024第八届全国青少年无人机大赛暨中国航空航天科普展览会

2024第八届全国青少年无人机大赛暨中国航空航天科普展览会 邀请函 主办单位: 中国航空学会 重庆市南岸区人民政府 招商执行单位: 重庆港华展览有限公司 为更好的培养空航天产业人才,汇聚航空教育产业创新科技,丰富和完善航…

某音a_bogus 流程vmp分析

声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 仅研究。网站链接自己去找。 前言 这里a_bogus 又是个vmp。 还是个多层嵌套…

​LeetCode解法汇总1379. 找出克隆二叉树中的相同节点

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:. - 力扣(LeetCode) 描述: 给你两棵二叉树,原始树 origi…

[Arduino学习] ESP8266读取DHT11数字温湿度传感器数据

目录 1、传感器介绍 2、接线 3、DHT.h库 1、传感器介绍 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,是简单环境监测项目的理想选择。 温度分辨率为1C,相对湿度为1%。温度范围在0C到50C之间,湿度的测…

Protobuf 二进制文件学习及解析

0. 简介 protobuf也叫protocol buffer是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。 由于它是一种二进制的…

新人程序员必备在线工具推荐(cron、加解密、JSON、AI)

程序员必备在线工具推荐 俗话说的好,工欲善其事必先利其器,下面我就来给大家分享一下我个人常用的工具。也欢迎大家在评论区分享自己喜欢的工具。✈️ 1 在线cron表达式:cron 在日常开发中,我们难免会遇到一些定时任务的场景&…

「每日跟读」句型公式 第2篇

「每日跟读」句型公式 第2篇 1. I’m thinking about____ 我在考虑____ I’m thinking about my future career (我正在思考我未来的职业) I’m thinking about our marriage (我在考虑我们的婚姻) I’m thinking about taking a vacation (我在考虑度一个假) I’m think…

tcpdump + wireshark 服务器抓包分析

tcpdump wireshark 服务器抓包分析 1.tcpdump安装2.tcpdump使用3.安装wireshark4.使用wireshark 本文用以总结使用tcpdump进行抓包,然后使用wireshark工具打开抓包出来的pacp文件进行分析。通过tcpdump可以实时监控到linux服务器中tcp和http、https等通讯的内容和信…

人工智能上手 Pytorch

人工智能上手 Pytorch 1、人工智能框架历史走向 2015年, caffe,优势配置简单,缺点安装麻烦,且不更新维护 2016年,tensorflow 1.x,定义太严格,很复杂。开发成本高。简单的任务,也很…

[Python学习篇] Python创建项目

新建项目 打开开发工具 PyCharm 选择 New Project 目录结构如下 运行 hello world 选中项目,右键 New -> Python File 进行创建文件 运行项目

MYSQL数据库:告别慢查询,优化性能大揭秘

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL应用》 💪🏻 制定明确可量化的目标,坚持默默的做事。 MYSQL数据库:告别慢查询,优化性能大揭秘 文章目录 一、揭秘…

Makefile:调用shell脚本和嵌套调用多项目编译(九)

1、Makefile中调用shell脚本 Makefile中可以通过使用$(shell 指令)的方式调用shell脚本a指令:输出当前文件夹下的所有文件b指令:输出当前路径c指令:如果当前目录下不存在abc文件那么创建一个abc的文件 a$(shell ls ./) b$(shell pwd) filen…

关于简单又挣钱的冷门美团项目,美团圈圈

大家好,最近美团又开始搞事情了。接连推出了好几个网推项目,让一大波人都吃上了肉了。 美团的项目很简单,就是给它们的活动做推广。用户只需要拿到它推广的链接,然后去扫码进群就可以了。只要用户保持8天不退就行了。 下面是体验…

揭开AI编程语言Mojo比Pyhon快6.8万倍的5个秘密!

最近(2024年3月29日),号称比Python快6.8万倍的Mojo编程语言开源啦!6.8万倍?你敢相信这个数字是真的吗?不过,就连Mojo官网都把这个结果贴了出来(见下图),这就很…

线程池小项目【Linux C/C++】(踩坑分享)

目录 前提知识: 一,线程池意义 二,实现流程 阶段一,搭建基本框架 1. 利用linux第三方库,将pthread_creat线程接口封装 2. 实现基本主类ThreadPool基本结构 阶段二,完善多线程安全 1. 日志信息打印…