python实用系列:按顺序重命名文件

啊,好久没更博客了,今天偶然想换个桌面壁纸,于是上网搜了两个比较满意的桌面壁纸,都是压缩包:

当我想要给他们放到我的桌面壁纸文件里的时候患了难,因为他们的名字有相同的:

anime文件夹里边:

ysdmn文件夹里边:

当我同时解压两个文件之后,我发现有一些文件名重复需要我选择是否覆盖,覆盖的话就会丢失一部分文件,跳过的话文件名会显得很杂乱,因为系统给他们表的号都是后面加了一个小括号的很不统一,如果自己用手一个个重命名的话又会很繁琐,毕竟文件不少,所以我就想到使用代码来解决,最近又刚好在看python,于是我就打算用python来编写这个功能,写完之后我才发现代码有多高效:

复制代码
import os
 
def rename_files(directory, extension):
    files = [f for f in os.listdir(directory) if f.endswith(extension)]
    files.sort()
    for i, file in enumerate(files):
        old_path = os.path.join(directory, file)
        new_path = os.path.join(directory, f"{i+1:02d}{extension}")
        os.rename(old_path, new_path)
 
# 使用示例
rename_files('d:\Pictures\桌面壁纸', '.jpg')

这个代码理解也很简单,就是实用os模块,获取到目标路径下面的所有文件,然后通过i这个自变量来进行文件的顺序从命名;还是使用了函数,这个rename_files函数有两个参数,一个是目标路径,一个是文件的后缀名,当我运行之后果然出现了我满意的结果:

这样看起来就舒服多了,如果后面还有文件添加的话,只需要运行一下这个程序就可以了;

好了,今天分享就到这,点个关注不迷路

相关推荐
充钱大佬22 分钟前
Python测试基础教程
python·log4j·apache
不听话坏32 分钟前
Ignition篇(下 一) 动态执行前的事情
开发语言·前端·javascript
likeyi0743 分钟前
require 和 import的区别
开发语言·前端
远离UE41 小时前
UE5 compute shader 原子加
开发语言·c++·ue5
C+-C资深大佬1 小时前
C++ 显式类型转换详解:static_cast、dynamic_cast、const_cast、reinterpret_cast
开发语言·c++
KaMeidebaby2 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
luj_17683 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
初心丨哈士奇3 小时前
Python 四大基础容器|列表篇
python
Mininglamp_27183 小时前
Claude Code 封禁中国开发者之后:本地 AI 编程工具的替代方案实测
开发语言·人工智能·windows·开源软件·ai-native
思麟呀3 小时前
C++17(三)if constexpr+折叠表达式
开发语言·c++