鱼C论坛

 找回密码
 立即注册
查看: 710|回复: 6

[已解决]请问isdir()为什么不能判断出是否是文件夹?

[复制链接]
发表于 2020-4-21 16:48:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
F盘这些全部为文件夹,为啥在for循环中用isdir()判断无法打印?

import os

all_files = os.listdir('F:\\') 

print(all_files)  #只输出了这个

for each_file in all_files:
    if os.path.isdir(each_file):   
        print(each_file)



输出:

['$RECYCLE.BIN', '2017 Travel in Europe', '2018 EAST COAST LVY SUMMER PROGRAM', 'CET-6', 'Clinical Lessons', 'CloudMusic', 'Innovation', 'kinggsoft', 'Korean', 'Mandarin', 'NCRE', 'OneDrive', 'OneDriveTemp', 'Others', 'Photograph', 'Python', 'qqpcmgr_docpro', 'School Lessons', 'Summer Camp', 'System Volume Information', 'TOEFL', '实习', '科研', '综测', '考研']
最佳答案
2020-4-21 17:05:49
本帖最后由 suchocolate 于 2020-4-21 17:07 编辑
yangxuebabe 发表于 2020-4-21 17:02
为什么要这样改呢


py脚本默认工作路径是当前py所在路径,而上面listdir时应该不是脚本当前的路径。
所以for循环判断时,因为当前路径没有这些文件夹,所以都是false,就都不会print。
另外的办法就是在第二行加1句:
os.chdir(r'F:\')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-21 17:00:53 | 显示全部楼层
if os.path.isdir(r'F:\' + each_file):
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-21 17:02:52 | 显示全部楼层
suchocolate 发表于 2020-4-21 17:00
if os.path.isdir(r'F:\' + each_file):

为什么要这样改呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-21 17:05:27 | 显示全部楼层
suchocolate 发表于 2020-4-21 17:00
if os.path.isdir(r'F:\' + each_file):

而且
all_files = os.listdir('F:\\python')
这个也不行 python这个文件夹下也是有文件夹的
但是
all_files = os.listdir('F:\\python\\jupyterproject')
这样就可以打印了

这是为什么呢 这几个有什么区别吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 17:05:49 | 显示全部楼层    本楼为最佳答案   
本帖最后由 suchocolate 于 2020-4-21 17:07 编辑
yangxuebabe 发表于 2020-4-21 17:02
为什么要这样改呢


py脚本默认工作路径是当前py所在路径,而上面listdir时应该不是脚本当前的路径。
所以for循环判断时,因为当前路径没有这些文件夹,所以都是false,就都不会print。
另外的办法就是在第二行加1句:
os.chdir(r'F:\')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-21 17:07:58 | 显示全部楼层
suchocolate 发表于 2020-4-21 17:05
py脚本默认工作路径是当前py所在路径,而上面listdir时应该不是脚本当前的路径。
所以for循环判断时, ...

啊!懂了!感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 17:10:33 | 显示全部楼层
yangxuebabe 发表于 2020-4-21 17:05
而且
all_files = os.listdir('F:\\python')
这个也不行 python这个文件夹下也是有文件夹的

我漏了一个斜杠,两个斜杠
if os.path.isdir(r'F:\\' + each_file):
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 18:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表