猿问

使用python来搜索一个目录下的所有目录问题

环境 OS X10.11
python3.5

[x for x in os.listdir('.') if os.path.isdir(x)]
这条命令中 我把path换成了我的桌面
/Users/账户名/Desktop
但是打印不出来任何目录
都是[]

请问是为什么呢

茅侃侃
浏览 555回答 3
3回答

慕尼黑的夜晚无繁华

很简单 os.listdir('/Users/<user>/Desktop') 这个得到的是你桌面上所有文件夹的名字,形如['a','b','c'] 然后后面的 os.path.isdir(x) 就等效于每次都去判断那些文件夹在你当前目录下是否存在,自然就什么目录都没有了。 如果想得到期望的结果,你需要这样: [x for x in os.listdir('/Users/<user>/Desktop') if os.path.isdir('/Users/<user>/Desktop'+x)]

智慧大石

因为你的桌面上没有目录,所以那些文件都被跳过了,自然就返回1个空列表给你了。

炎炎设计

import os f = [] for (dirpath, dirnames, filenames) in os.walk('.'): f.extend(dirnames) break print(f)
随时随地看视频慕课网APP

相关分类

Python
我要回答