想要在列表中的目录中获取子目录

时间:2019-04-09 13:12:10

标签: python-3.x ubuntu-16.04

我正在使用ubuntu 16.04。在我的机器上,我正在“下载”目录中工作。我在下载中有一个名为图片的目录,在图片中我还有两个包含图片的文件夹。

目录如下

〜/下载/图片/文件夹1

〜/下载/图片/文件夹2

我想获取目录的列表,例如

directories = ['home/user/Downloads/pictures/folder1','home/user/Downloads/pictures/folder2']

我正在使用以下代码

import os

path = '~/Downloads/pictures'

folders = []

# r=root, d=directories, f = files
for r, d, f in os.walk(path):
    for folder in d:
        folders.append(os.path.expanduser(os.path.join(r, folder)))

for z in folders:
    print(z)

这在Windows中工作得很好,但是当我在ubuntu上运行时,文件夹文件夹的长度为0。 如何获取“文件夹” 文件夹来填充我想要的目录?

1 个答案:

答案 0 :(得分:0)

要从路径获取目录,您应该首先正确构建路径(查看使用expanduser来获取用户路径),然后查找目录(请注意使用列表理解):

import os
from os.path import expanduser

usrdir = expanduser("~")
path = usrdir+'/Downloads/pictures'

folders = [d[0] for d in os.walk(path)]