遍历方式更改文件名
import os
import sys
# 定义一个名字叫做rename的函数
def rename(filePath):
"""
批量重命名指定路径下的'.dbf', '.prj', '.shp', '.shx'格式的文件,重命名格式:文件_文件夹名字,
并删除'.sbn', '.sbx', '.xml'格式的文件
:param filePath: 文件夹的路径
:return:
"""
# 文件筛选条件
condition1 = ('.dbf', '.prj', '.shp', '.shx','.txt')
condition2 = ('.sbn', '.sbx', '.xml')
#列表
name = ['one','two','three']
flag = 0
# os.walk 查找文件
for root, dirs, files in os.walk(filePath):
# 文件夹名字
# mark = root.split('\\')[-1]
# for循环遍历文件名字
for fileName in files:
mark = name[flag]
flag = flag + 1
if fileName != sys.argv[0]:
if fileName.endswith(condition1):
os.rename(os.path.join(root, fileName), os.path.join(root, mark + '.' + fileName.split('.')[-1]))
print(fileName, '已经重命名成功了,乖乖,新名字是:', mark + '.'
+ fileName.split('.')[-1])
if fileName.endswith(condition2):
delFileName = os.path.join(root, fileName)
os.remove(delFileName)
print(delFileName, '已经成功被移除。')
if __name__ == '__main__':
filePath = r'C:\Users\Windows11\Desktop\test'
rename(filePath)
标签:rename,__,遍历,filePath,python,root,文件名,fileName,os
From: https://www.cnblogs.com/lurenj/p/18397308