正在自学python,利用os模块,如果要列出当前目录下的所有目录,以下代码可成功实现:
[x for x in os.listdir('.') if os.path.isdir(x)]
但偶要列出指定目录(比如c盘根目录)下的所有目录时,以下代码却返回空值:
[x for x in os.listdir('c:/') if os.path.isdir(x)]
求教各位大神,问题出在哪?
返回的结果是文件名字 而不是其绝对路径
用[x for x in os.listdir('c:/') if os.path.isdir(os.path.join('c:/',x))]
os.listdir()
返回一个list
。但这个是相对路径来的。所以os.listdir('c:/')
会返回['Windows']等等。你运行的当前路径一定不是C:/
。所以当前目录下一定没有一个叫Windows
的子目录啊。