listdir-isdir-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为不带路径的文件名,可用如下的方法遍历获取(实际应用时,去掉#)
#递归遍历目录样例文件
#导入oS模块
import os
#待遍历的目录路径
path= "e:\办公"
#调用walk方法递归遍历path目录
for root, dirs, files in os.walk(path):
for name in files: #如只要文件名,只保留这个FOR
print(os . path. join(root, name))
for name in dirs: #如只要目录,只保留这个FOR
print(os.path. join(root, name))
将带路径的filename拼接好后,再用于os.path.isdir()和os.path.isfile().的判断
祝大家少走弯路。