os.listdir()、os.path.isdir()和os.path.isfile()的用法解释

weixin_45903952 2020-01-15 09:54:38
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().的判断

祝大家少走弯路。

...全文
614 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_45903952 2020-01-16
  • 打赏
  • 举报
回复
想发博客,结果发这里来了,发错了
圣 经 宾 2020-01-16
  • 打赏
  • 举报
回复
一目了然

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧