最近因为工作需要开始学习python的使用,我们都知道知识的学习过程中比较和练习非常的重要,在学习python的过程中,对于python里面文件夹的删除感觉到不是很方便,于是就自己实现了一个,当作是一种练习。
import os
#recurse delete directory ignore whether the directory is empty or not
def recurseDelDirs(filePath):
if(os.path.isdir(filePath)):
recurseDelFiles(filePath)
recurseDelEmptyDirs(filePath)
else:
return
#recurse delete files under directory
def recurseDelFiles(filePath):
if(os.path.isdir(filePath)):
Array = os.listdir(filePath)
for fileName in Array :
recurseDelFiles("./"+filePath+"/"+fileName)
else:
os.remove(filePath)
return
#recurse delete directories which no include files
def recurseDelEmptyDirs(filePath):
if(not(os.path.isdir(filePath))):
return
else:
if(len(os.listdir(filePath)) == 0):
os.removedirs(filePath)
else:
Array = os.listdir(filePath)
for fileName in Array:
recurseDelEmptyDirs("./"+filePath+"/"+fileName)
#usage
recurseDelDirs("./test")
对于方法recurseDelEmptyDirs,我原本的写法是这样的
#recurse delete directories which no include files
def recurseDelEmptyDirs(filePath):
if(os.path.isdir(filePath) and len(os.listdir(filePath)) == 0):
os.removedirs(filePath)
elif(os.path.isdir(filePath) and len(os.listdir(filePath)) > 0):
Array = os.listdir(filePath)
for fileName in Array:
recurseDelEmptyDirs("./"+filePath+"/"+fileName)
else:
return
它和上面写法的区别是:
一个使用的是if…else语句,一个使用的是if…elif….else语句。对于我们人来说,更容易理解if…else语句,大家可以比较一下,是不是if…else会更容易理解。