os.listdir()、os.path.isdir()和os.path.isfile()的用法解释
os.listdir()、os.path.isdir()和os.path.isfile()的用法解释
此三项用法,都要import os先获取
os.listdir(path)方法,此方法返回一个列表,其中包含有path路径下的目录和文件的名称
注意,这里返回的只是一个某个路径下的文件和子目录的名称,不包括.和..文件
os.path.isdir(filename)和os.path.isfile(filename) 为判别filename是否为文件isfile还是子目录isdir
需要注意的是:filename 为包括绝对路径的文件全名
常见错误:直接使用os.listdir(path)的返回值当做os.path.isdir(filename)和os.path.isfile(filename)的filename值,导致无法判断,这也是经常弄混的地方
正确用法:filename需要用python路径拼接os.path.join(path,file)函数,其中path中如果是当前目录,可以用os.getcwd() 获取,file为不带路径的文件名,可用如下的方法遍历获取(实际应用时,去掉#)
#for root, dirs, files in os.walk(file):
# root 表示当前正在访问的文件夹路径
# dirs 表示该文件夹下的子目录名list
# files 表示该文件夹下的文件list
# 遍历文件
#for f in files:
#print(os.path.join(root, f))
# 遍历所有的文件夹
# for d in dirs:
# print(os.path.join(root, d))
将带路径的filename拼接好后,再用于os.path.isdir()和os.path.isfile().的判断
祝大家少走弯路。