python-3.x - 想要获取列表中目录中的子目录
问题描述
我正在使用 ubuntu 16.04 。在我的机器上,我正在下载目录中工作。我在下载中有一个名为图片的目录,在图片中我还有 2 个包含图片的文件夹。
目录如下
〜/下载/图片/文件夹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 。我如何让“文件夹”文件夹填满我想要的目录?
解决方案
要从路径中获取目录,您应该首先正确构建路径(查看expanduser
获取用户路径的使用),然后查找目录(注意使用列表推导):
import os
from os.path import expanduser
usrdir = expanduser("~")
path = usrdir+'/Downloads/pictures'
folders = [d[0] for d in os.walk(path)]
推荐阅读
- python-3.x - 如何以 UTF-8 格式打开 HTML 文件进行解析?
- r - 如何使用另一个数据框根据多个条件过滤数据框
- react-native - 我在使用 react-navigation 在 tab-navigator 中制作 stack-navigator 时遇到问题
- docker - 日志文件保存在 docker 容器中的什么位置以及如何复制它?
- java - StringDate to Date 在 java 中 SimpleDateFormat 中的不同时间出现
- c# - .NET 核心中的 gRPC 和分布式事务
- html - 两个 div 填充同一行
- javascript - 如何单击自定义元素(webcomponent)内的元素?
- android - 如何将 URLS 或字符串转换为 base64?
- php - 更新表单时检查单选按钮值是否未使用 PHP 更改