前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实战认识PY的魅力,省时省力教你Python批量修改文件名

实战认识PY的魅力,省时省力教你Python批量修改文件名

作者头像
二爷
发布2021-07-05 11:41:08
5900
发布2021-07-05 11:41:08
举报
文章被收录于专栏:二爷记

在某些办公场景下,python的确是一大利器,尤其是操作某一个特定的任务,比如批量修改文件名,某一个文件夹里的所有文件下的文件名,几行代码就能让你轻松实现批量修改文件名,省时省力,大呼,神器!

需求如下:

将所有文件名中含有“沣茂设计”去除或者替换,比如这里本渣渣改成“二爷记”!

核心

直接用python自带的os库中的listdir 方法和 rename 方法。

python 对文件进行批量改名用到的是 os 模块中的 listdir 方法和 rename 方法;

os.listdir(dir) : 获取指定目录下的所有子目录和文件名;

os.rename(原文件名,新文件名) : 对文件或目录改名。

而替换新的,这里用到了replace函数!

PS:当然这里不会限定方法,大家可以自行扩散,肯定有更多的方法可以实现的!毕竟python的强大有目共睹!

实现效果:

附上参考代码:

代码语言:javascript
复制
#批量修改文件名
#20210607 @author by 微信:huguo002
# -*- coding: utf-8 -*-
import os


#批量修改文件名
def main():
    list_name=[]
    file_dir=r"E:\BaiduNetdiskDownload\椅子"
    filelist = os.listdir(file_dir)   # 获取该目录下所有文件,存入列表中
    print(len(filelist))
    print(filelist)
    for file in filelist:
        file_path = os.path.join(file_dir, file)
        print(file_path)
        list_name.append(file_path)
        if os.path.isdir(file_path):
            listdir(file_path, list_name)

    print(len(list_name))
    print(list_name)

    for lsname in list_name:
        if "沣茂设计" in lsname:
            newname=lsname.replace("沣茂设计","二爷记")
            os.rename(lsname, newname)  # 用os模块中的rename方法对文件改名
            print(lsname, '======>', newname)

    print(">> 恭喜,批量修改文件名完成!")


if __name__=='__main__':
    main()

比较简单,轻松,省时省力,而且只在几秒内就可以实现文件名的替换更改!

考虑各位大表哥想要跟着实现,而且网上很多教程都没有提供相关的实例来完成效果,故这里本渣渣把所有文件,相关案例也一起打包,感兴趣的可以私信本渣渣微信公众号后台获取所有文件,实践参考学习!

所有文件获取

关注本渣渣微信公众号

后台回复: 改文件名

话说今天是高考的第一天,加油!

可惜本渣渣当年就差几百分上清华北大!

真相是当年北大有两个保送名额,我没去,一是因为离家太远,二是保送的人不是我...

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与SEO学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 核心
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档