python 批量修改文件名文件(针对目标文件夹并包括子文件)

存在问题:

如何对文件夹中的文件名进行批量编辑

解决方案:

采用for root, dirs, files in os.walk(file_path)遍历文件夹提取,然后进行相应编辑,该方法是对父文件和子文件所有符合的均进行编辑。
注:
root 表示正在遍历的文件夹的名字(根/子)
dirs 记录正在遍历的文件夹下的子文件夹集合
files 记录正在遍历的文件夹中的文件集合

如果只想对目标文件不包含子文件进行操作,请参考:此文
https://blog.csdn.net/coberup/article/details/102587532

分为三种情况:①文件名中部分替换修改;②加前缀;③加后缀
具体方法如下:
1)文件名中部分替换修改

#!coding=utf-8
import sys
import os
#文件名称替换函数
def replace_filename(file_path, oldPartName, newPartName):#file_path为文件夹路径;oldPartName需要修改的部分字符;newPartName修改后的字符
    for root, dirs, files in os.walk(file_path): #获取文档内所有文件
        for file_name in files: #取出文件夹下各文件名(包括子文件中的)
            if file_name.endswith('.txt'):  #选出要修改的文件类型;此句取消后就不对类型做判断
                if oldPartName in file_name:  #含有要替换的部分文字
                    os.rename(os.path.join(root, file_name), os.path.join(root, file_name.replace(oldPartName, newPartName))) #进行部分替换
                    print('new file name is {0}'.format(file_name.replace(oldPartName, newPartName))) #输出替换后的名字

replace_filename(r'F:\movie, '需要替换的文字', '替换的问题')

2)加前缀

#!coding=utf-8
import sys
import os
#函数
def addPrefix_filename(file_path, addPrefix):#file_path为文件夹路径;addPrefix为前缀
    for root, dirs, files in os.walk(file_path): #获取文档内所有文件
        for file_name in files: #取出文件夹下各文件名
            if file_name.endswith('.txt'):  #选出要修改的文件类型;此句取消后就不对类型做判断
                    os.rename(os.path.join(root, file_name), os.path.join(root, addPrefix+file_name)) #添加前缀
                    print('new file name is {0}'.format(addPrefix+file_name)) #输出添加前缀后的名字

addPrefix_filename(r'F:\movie', '前缀名称-')

3)加后缀

#!coding=utf-8
import sys
import os
#函数
def addSuffix_filename(file_path, addSuffix):#file_path为文件夹路径;addSuffix为后缀
    for root, dirs, files in os.walk(file_path): #获取文档内所有文件
        for file_name in files: #取出文件夹下各文件名
            if file_name.endswith('.txt'):  #选出要修改的文件类型;
                    os.rename(os.path.join(root, file_name), os.path.join(root,file_name.replace('.txt',addSuffix+'.txt'))) #此处是把后缀部分进行替换
                    print('new file name is {0}'.format( file_name.replace('.txt',addSuffix+'.txt'))) #输出添加后缀后的名字

addSuffix_filename(r'F:\movie', '-后缀名称')

注:
本文中方法均是对根目录和子目录中所有符合的文件进行修改
————————————————
版权声明:本文为CSDN博主「coberup」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/coberup/article/details/102582970

posted @   vetra  阅读(340)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示