環境 OS X10.11python3.5
[x for x in os.listdir('.') if os.path.isdir(x)]這條命令中 我把path換成了我的桌面/Users/賬戶名/Desktop但是打印不出來任何目錄都是[]
請問是為什么呢
3 回答

慕尼黑的夜晚無繁華
TA貢獻1864條經驗 獲得超6個贊
很簡單
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)]

炎炎設計
TA貢獻1808條經驗 獲得超4個贊
import os
f = []
for (dirpath, dirnames, filenames) in os.walk('.'):
f.extend(dirnames)
break
print(f)
添加回答
舉報
0/150
提交
取消