Python批处理删除和重命名文件夹的实例
1.删除当前目录下不含有指定文件类型的文件夹
#!/usr/bin/python
#-*-coding:UTF-8-*-
importsys
importos
importshutil
pwd=os.getcwd()
L=os.listdir(".")
f=open("out.txt","w")
fordirnameinL:
ifos.path.isdir(dirname):
print("dirname:"+dirname)
os.chdir(dirname)
files=os.listdir(".")
filePreName="filename"
extName="extname"
delete=True
forfilenameinfiles:
printfilename
print>>f,"%s"%filename
filePreName,extName=os.path.splitext(filename)
ifextName.lower()==".zip"orextName.lower()==".jpg"orextName.lower()==".doc"orextName.lower()==".pdf"orextName.lower()==".xls"orextName.lower()==".gif"orextName.lower()==".ppt"orextName.lower()==".iso"orextName.lower()==".mp3"orextName.lower()==".wav"orextName.lower()==".rar"orextName.lower()==".mkv"orextName.lower()==".mp4"orextName.lower()==".bmp"orextName.lower()==".exe"orextName.lower()==".docx"orextName.lower()==".png"orextName.lower()==".txt":
delete=False
os.chdir("..")
ifdelete:
shutil.rmtree(dirname)
printdirname+"deleted!!!"
print>>f,"%s"%dirname+"deleted!!!"
print"--------------------------"
print>>f,"%s"%"--------------------------"
f.close()1
2.遍历目录下每个子文件夹,并列出子文件夹下的文件,默认删除含指定类型的文件夹,不包含指定文件类型的,则提示,是否删除或者重命名文件夹
#!/usr/bin/python
#-*-coding:UTF-8-*-
importsys
importos
importshutil
pwd=os.getcwd()
L=os.listdir(".")
f=open("out.txt","w")
fordirnameinL:
ifos.path.isdir(dirname):
print("dirname:"+dirname)
os.chdir(dirname)
files=os.listdir(".")
i=0
filePreName="filename"
extName="extname"
forfilenameinfiles:
printfilename
print>>f,"%s"%filename
filePreName,extName=os.path.splitext(filename)
ifextName==".java"orextName==".js"orextName==".yml"orextName==".ejs"orextName==".svg"orextName==".sample"orextName==".styl"orextName==".class"orextName==".xml"orextName==".html"orextName==".so"orextName==".OPA"orextName==".pig"orextName==".obj"orextName==".sdb"orextName==".dll":
i+=1
os.chdir("..")
#整理杂乱的硬盘时,包含这些文件类型的无关文件夹直接删除
ifi>=3orfilePreName=="HEAD"orfilePreName=="master"orextName==""or(filePreName=="index"andextName==".html")orextName==".java"orextName==".pyc"orextName==".py"orextName==".html"orextName==".HTM"orextName==".ini"orextName==".css"orextName==".so"orextName==".xml"orextName==".bin":
shutil.rmtree(dirname)
print(dirname+"deleted!!!")
print"--------------------------"
continue
deleteOrNot=raw_input("delete"+dirname+"?(y/n)")
#除了无关文件夹,其余由“我”决定是删除还是直径重命名文件夹
ifdeleteOrNot=='y':
shutil.rmtree(dirname)
printdirname+"deleted!!!"
print>>f,"%s"%dirname+"deleted!!!"
else:
ifdeleteOrNot=="":
print"nochange"+dirname
else:
os.rename(dirname,deleteOrNot)
print"--------------------------"
print>>f,"%s"%"--------------------------"
f.close()
3.使用子文件夹中第一个文件的文件名作为该子文件夹的名字
#!/usr/bin/python
#-*-coding:UTF-8-*-
importsys
importos
importshutil
importrandom
pwd=os.getcwd()
L=os.listdir(".")
f=open("rename.txt","w")
fordirnameinL:
ifos.path.isdir(dirname):
os.chdir(dirname)
files=os.listdir(".")
filePreName="filename"
extName="extname"
filename=files[0]
filePreName,extName=os.path.splitext(filename)
os.chdir("..")
os.rename(dirname,filePreName+str(random.randint(1,999)))
printdirname+"->"+filePreName+str(random.randint(1,999))
print>>f,"%s"%dirname+"->"+filePreName+str(random.randint(1,999))
f.close()
以上这篇Python批处理删除和重命名文件夹的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。