使用python做一个批量重命名文件的小工具

news2024/9/28 11:17:26

🛴 放松

端午放假前的下午🙄
没事儿可做,一个准备开始弄的项目里面有大量的图片,但是名字都乱七八糟的,作为一个稍微带点强迫症的人看不下去。
既然如此,想直接重命名,可是Windows的重命名效果大家都是有目共睹的,下面这种带括号的文件名你受得了吗,反正我是看不惯。
在这里插入图片描述
好的,想弄个批量重命名的方式,看了下百度,居然还要用excel,而后使用bat文件来重命名,不感觉麻烦吗

说到这,果断用神器python来弄了,写好代码(核心代码十行不到),而后测试,最后打包成exe文件,轻轻松松搞定。
不得不说python简直无敌了😎

废话不多说直接上代码了

代码

  • 主要使用两个python模块:os和colorama
  • 其中os作为python的系统操作模块,colorama用于改变输出颜色。
  • 先安装一下模块
pip install colorama
import os
from colorama import init, Fore, Style

init()
print(Fore.LIGHTBLACK_EX + "\n\t\t\t\t<<<<< 欢迎使用批量重命名文件小工具 >>>>>\n" + Style.RESET_ALL)

while True:
  try:
    folder_path = input(Fore.YELLOW + "请输入需要批量重命名文件的目录位置:\n" + Style.RESET_ALL)
    index = 0
    if len(os.listdir(folder_path)) == 0:
      print(Fore.BLUE + "该目录下文件为空,已重新为你启动程序\n" + Style.RESET_ALL)
      continue
    prefix_name = input(Fore.YELLOW + "请输入重命名后的文件前缀(如果不需要前缀,请直接回车):\n" + Style.RESET_ALL)
    print("\t旧文件名:>>>\t新文件名")
    for filename in os.listdir(folder_path):
      index += 1
      file_path = os.path.join(folder_path, filename)
      if os.path.isfile(file_path):
          name, ext = os.path.splitext(filename)
          new_name = prefix_name + str(index) + ext
          print("\t"+name + ":>>>\t" +new_name)
          os.rename(file_path, os.path.join(folder_path, new_name))
    isExit = input(Fore.LIGHTGREEN_EX + "\nSUCCESS: 文件重命名完成,输入字母 y 继续运行,输入其他或回车直接退出:\n" + Style.RESET_ALL)
    if isExit != 'y':
       break
  except:
    isExit = input(Fore.RED + "\nERROR: 你的文件目录不正确,请检查。输入字母 y 继续运行,输入其他或回车直接退出:\n" + Style.RESET_ALL)
    if isExit != 'y':
       break
    pass

打包成exe文件

这个比较简单,直接无脑操作即可。copy运行命令就可以了

下载打包模块

pip install Pyinstaller

打包文件

在文件所在目录下打开DOS窗口,需要图标就自己去找一个,不要图标就不用

  • icon.png 是图标,app.py就是上面的代码
  • 打包完成后去当前目录下的dist目录下就能发现自己的exe文件了
  • 至于pyinstaller的其它命令项,自己百度一下吧,这个网上特别多。
pyinstaller -F -i  icon.png app.py

运行截图

在这里插入图片描述

批量重命名完成截图

在这里插入图片描述

水军飘过~~

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

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

相关文章

《XrayGLM:基于VisualGLM-6B微调训练对X光胸片进行医学诊断》学习分享与本地项目微调部署实践

XrayGLM据说是首个会看胸部X光片的中文多模态医学大模型&#xff0c;我最近也是因为关注这个所以就找时间学习了一下&#xff0c;顺便把学习资料对应记录分享一下。 官方提供了开源的项目&#xff0c;地址在这里&#xff0c;如下所示&#xff1a; 最近&#xff0c;通用领域的大…

MySQL - 第6节 - MySQL表的增删查改

1.MySQL表的增删查改概述 • 表的增删查改简称CRUD&#xff1a;Create&#xff08;新增&#xff09;&#xff0c;Retrieve&#xff08;查找&#xff09;&#xff0c;Update&#xff08;修改&#xff09;&#xff0c;Delete&#xff08;删除&#xff09;。 • CRUD的操作对象是对…

抖音小店有哪些常见扣分原因?如何避免在抖音小店中被扣分?

抖音小店现在已经成为了很多商家的首选电商平台&#xff0c;但是在使用抖音小店的过程中&#xff0c;也会出现一些扣分的情况。接下来&#xff0c;四川不若与众将为大家介绍抖音小店扣分的原因和避免办法。 一、抖音小店扣分原因 1. 服务不到位&#xff1a;商家没有及时回复用户…

2023-01-06 VMWare桥接网络配置.md

VMWare16 桥接网络配置 一 环境清单 VMWare 16虚拟机&#xff1a;Centos7宿主机&#xff1a;Windows 10 二 配置过程 查看宿主机的IP相关信息 ipconfig -all 配置虚拟网络编辑器 2.1 打开VMware Workstation Pro&#xff0c;点击左上角编辑-->虚拟网络编辑器 2.2 点击更改配…

CRM商机管理:提升客户体验和销售效率

如何利用CRM系统提升商机管理&#xff1f; 花点时间思考一下你的企业管理商机的方法&#xff0c;是否有以下情况&#xff1a; ● 不知道渠道中的商机是否可行。 ● 不知道应该关注哪些商机。 ● 花了几个小时或几天的时间来跟进商机。 ● 不知道赢得商机与失去商机的比例。 如…

【Kafka】Suppressed: java.nio.file.AccessDeniedException问题的解决

【Kafka】Suppressed: java.nio.file.AccessDeniedException问题的解决 目录 前言 一、错误发生的原因 二、问题如何解决 前言 今天在运行kafka时&#xff0c;出现了如下图的报错Suppressed: java.nio.file.AccessDeniedException&#xff0c;怎么启动也启动不起来。那此问…

C/C++的命令执行分析

背景 最近发现一个命令执行风险&#xff1b; 一开始提供修复建议&#xff0c;是对特殊字符进行过滤&#xff0c;但是业务侧没有办法过滤&#xff0c;因为输入点是没有办法限制的&#xff0c;然后提供另一个方案是将用户的输入写到配置文件中&#xff0c;然后再进行操作&#x…

LeetCode24. 两两交换链表中的节点+19. 删除链表的倒数第 N 个结点

24. 两两交换链表中的节点 题目描述&#xff1a; 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 输入&#xff1a;head [1…

蓝牙 - 抓包工具BPA600介绍

BPA 600开箱后&#xff0c;先把天线(antenna)装在后面的SMA接口上。 SMA connectors: SMA&#xff08;SubMiniature version A&#xff09;连接器是在20世纪60年代开发的半精密同轴射频连接器&#xff0c;是一种用于同轴电缆的最小连接器接口&#xff0c;具有螺旋式耦合机制。…

复旦大学高校专区入驻飞桨AI Studio,优质教育资源等你来学!

近日&#xff0c;复旦大学高校专区在飞桨人工智能学习与实训社区AI Studio上线&#xff0c;双方将携手搭建人工智能教学实训平台专区&#xff0c;汇集优质教学实训资源&#xff0c;校企共同培育复合型 AI 人才&#xff0c;为国家输送高质量人才&#xff0c;促进国家智能化进程。…

【机器学习】Kullback-Leibler散度实现数据监控

https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence 一、说明 本篇叙述了KL 散度的数学、直觉和如何实际使用&#xff1b;以及它如何最好地用于过程监测。Kullback-Leibler 散度度量&#xff08;相对熵&#xff09;是信息论中的一种统计测量方法&#xff0c;通…

深入理解Dockerfile

一、是什么 Dockerfile 是一个用来构建镜像的文本文件&#xff0c;文本内容包含了一条条构建镜像所需的指令和说明。把镜像比喻成一个软件那么DockerFile就相当于是软件的配置文件。具体的内容可参考[官方网站](Dockerfile reference | Docker Documentation。 二、能做什么 通…

密码学中的SM2

目录 概述 功能 密钥生成 基点G的生成 模数p 密钥生成过程 加解密 加密过程&#xff1a; 解密过程&#xff1a; 数字签名 概述 对第5步r的计算方式分析 对第6步s的计算方式分析 加密模式 优缺点 论文和研究方向推荐 论文 研究方向 概述 SM2是中国密码学算法…

qt 时间编程之时钟

这里写目录标题 开启time格式自动 QTIM打点 qtime qt的时间类 qtimer qt的定时类 头文件包含以及定义 #include<QTime> #include<QTimer>QTime * time; QTimer * timer;开启 右键槽 timer start&#xff08;50&#xff09; 到达50毫米的时候会触发 time out信号…

Unreal 5 实现场景环境控制组件

我在场景中发现了一个环境控制器&#xff0c;这个场景实现了雨天天气和晴天风沙天气&#xff0c;接下来我分析一下这个天气控制器是如何实现。 实现流程&#xff1a; 将环境控制器拖入场景&#xff0c;在配置项上面设置相应的雾&#xff0c;主光源&#xff0c;天空光。在环境控…

Spring Cloud Alibaba-全链路灰度设计

文章目录 灰度发布概念灰度发布架构Spring Cloud Alibaba技术架构下的灰度发布实现基础设计HttpHeader设计 Spring Cloud Gateway改造Spring Cloud Gateway实现灰度发布过滤器 自定义Loadbalancer微服务注册元信息修改自定义LoadBalancer使用 测试代码放到了github上[地址]() 灰…

STM32F4_CAN详解

目录 1. CAN简介 2. CAN协议的物理层 2.1 CAN协议中的差分信号 3. CAN协议的协议层 3.1 CAN的报文种类及结构 4. STM32的CAN外设 4.1 CAN框图 5. CAN相关结构体 6. CAN相关寄存器 7. 硬件设计 7.1 TJA1050芯片 8. 库函数配置CAN初始化 9. 实验代码 9.1 main.c 9…

SpringBoot问题-----------可以同时处理多少个请求

SpringBoot之可以同时处理多少个请求 SpringBoot的运行方式springBoot中tomcat的位置最小、最多工作线程数最大连接数等待数 SpringBoot的运行方式 SpringBoot项目中内嵌了tomcat 程序的运行就是通过tomcat来实现的&#xff1b;springBoot可以同时处理多少个请求其实就是在说 …

图像生成—使用GANs给出代码示例

文章目录 图像生成简单介绍—使用GANs给出代码示例1. 什么是生成对抗网络&#xff08;GANs&#xff09;2. 准备数据集3. 构建生成器和判别器4. 训练GAN模型5. 生成新图像6. 总结 图像生成简单介绍—使用GANs给出代码示例 图像生成是指使用计算机算法生成图像的过程。这些图像可…

C++ | 多线程使用vector

多线程使用vector 文章目录 多线程使用vector场景描述原因分析解决代码测试不扩容和提前扩容 size 与 capacity 变化欢迎关注公众号【三戒纪元】 场景描述 最近在看代码优化&#xff0c;看到有这样的代码&#xff1a; std::vector<int> valid_indices;void SimbaSegmen…