python批量修改文件夹中文件名(只针对目标文件夹不包括子文件)
程序员文章站
2022-04-17 14:05:18
...
存在问题:
如何对文件夹中的文件名进行批量编辑
解决方案:
采用**os.listdir(file_path)**遍历文件夹提取,然后进行相应编辑,该方法只针对目标文件夹不包括子文件。
如果想对目标文件以及内部的子文件进行操作,请参考:此文
https://blog.csdn.net/coberup/article/details/102582970
分为三种情况:①文件名中部分替换修改;②加前缀;③加后缀
具体方法如下:
1)文件名中部分替换修改
#!coding=utf-8
import os
def replace_filenames(file_path, oldPartName, newPartName): #file_path为文件夹路径;oldPartName需要修改的部分字符;newPartName修改后的字符
files=os.listdir(file_path) #获取文档内所有文件
for file_name in files: #取出路径父文件夹下各文件名
if file_name.endswith('.txt'): #选出要修改的文件类型;此句取消后就不对类型做判断
if oldPartName in file_name: #含有要替换的部分文字
os.rename(os.path.join(file_path,file_name),os.path.join(file_path,file_name.replace(oldPartName,newPartName))) #进行部分替换
print('new file name is {0}'.format(file_name.replace(oldPartName,newPartName))) #输出替换后的名字
replace_filenames(r'F:\movie','被替换的文字', '替换的文字')
2)加前缀
#!coding=utf-8
import os
def addPrefix_filenames(file_path, addPrefix):#file_path为文件夹路径;addPrefix为前缀
files=os.listdir(file_path) #获取文档内所有文件
for file_name in files: #取出路径父文件夹下各文件名
if file_name.endswith('.txt'): #选出要修改的文件类型;此句取消后就不对类型做判断
os.rename(os.path.join(file_path,file_name),os.path.join(file_path,addPrefix+file_name)) #添加前缀
print('new file name is {0}'.format(addPrefix+file_name)) #输出添加前缀后的名字
addPrefix_filenames(r'F:movie', 'text-')
3)加后缀
#!coding=utf-8
import os
def addSuffix_filenames(file_path, addSuffix):#file_path为文件夹路径;addSuffix为后缀
files=os.listdir(file_path) #获取文档内所有文件
for file_name in files: #取出路径父文件夹下各文件名
if file_name.endswith('.txt'): #选出要修改的文件类型;此句取消后就不对类型做判断
os.rename(os.path.join(file_path,file_name),os.path.join(file_path,file_name.replace('.txt',addSuffix+'.txt'))) #添加后缀
print('new file name is {0}'.format(file_name.replace('.txt',addSuffix+'.txt'))) #输出添加后缀后的名字
addSuffix_filenames(r'F:\movie', '-test')
上一篇: C++多线程死锁问题与解决方案
下一篇: 线程死锁以及死锁解决的方法