Python对文件夹下的子文件夹、文件------重命名、删除文件、删除非空文件夹、修改文件类型
import os
import shutil
rootpath="H:/WMU_1-5_copy"
dirs=os.listdir(rootpath)
print(dirs)
dirlist=[]
for root,dirs,files in os.walk(rootpath):
dirspath=os.path.join(rootpath,root)
for dir in dirs:
#path=os.path.join(dirspath,dir)
#print("dir: ",dir)
#print("path: ",path)
if len(dir.split(" "))!=1:
strdir=dir.split(" ")
newdir=strdir[0]+"_"+strdir[1]
#对文件夹重命名
os.rename(os.path.join(dirspath,dir),os.path.join(dirspath,newdir))
print("修改文件名完成")
i=0
dirs=os.listdir(rootpath)
for dir in dirs:
i+=1
dirpath=os.path.join(rootpath,dir)
print(i," dir: ",dir)
for file in os.listdir(dirpath):
filepath=os.path.join(dirpath,file)
if os.path.isfile(filepath):
# 删除文件
os.remove(filepath)
if os.path.isdir(filepath):
if file !="Angio_DICOM":
#删除非空文件夹
shutil.rmtree(filepath)
else:
for dicom in os.listdir(filepath):
dicompath=os.path.join(filepath,dicom)
if dicom[:2]!="XA":
os.remove(dicompath)
dirs=os.listdir(rootpath)
for dir in dirs:
dirpath=os.path.join(rootpath,dir)
for file in os.listdir(dirpath):
filepath=os.path.join(dirpath,file)
if os.path.isdir(filepath):
if file =="Angio_DICOM":
for dicom in os.listdir(filepath):
dicompath=os.path.join(filepath,dicom)
print(dicom)
if dicom[:2]=="XA":
#修改文件类型
os.rename(dicompath,dicompath+".dcm")
修改前:
修改后: