python - Python 类中用于检索子子文件夹的问题
问题描述
我没有成功地尝试获取一个 Python 函数,它以 Class 的形式返回给定文件夹的子文件夹。
我的数据集文件夹的结构如下:
datasets
Actor1,
emotion1
emotion2
Actor2
emotion1
emotion2
# setting class
class Folder:
"""Attempt to model typical folder."""
def __init__(self, path):
self.path = path
def get_folder(self):
sep_ = os.path.sep
files = glob.glob(sep_.join([self.path, "*"]))
dir_list = list()
for dir_ in files:
if os.path.isdir(dir_) == True:
dir_list.append(dir_)
return dir_list
我的问题是这样的:
Folder(path).get_folder()
返回一个仅包含数据集目录中元素的列表
Out[8]:
[..\\datasets\\Actor1',
'..\\datasets\\Actor2']
但我需要的输出是:
['...\\datasets\\Actor1\\emotion1',
'...\\datasets\\Actor1\\emotion2',
'...\\datasets\\Actor2\\emotion2',
'...\\datasets\\Actor2\\emotion2',]
你能帮忙吗?
解决方案
尝试这个:
import os
import glob
class Folder:
"""Attempt to model typical folder."""
def __init__(self, path):
self.path = path
def get_folder(self):
files = glob.glob(os.path.join(self.path, "*"))
dir_list = []
for f in files:
if os.path.isdir(f):
dir_list = dir_list + [
os.path.join(self.path, elt) for elt in os.listdir(f)
]
return dir_list
print(Folder(".").get_folder())
推荐阅读
- google-sheets - 过滤从站点导入的日期
- rest - Wildfly 10:ear、ejbs 和 restful-services
- react-native - 使用 Yarn 工作区/nohoist 时,如何控制 Yarn 为依赖项的 peerDependency 选择哪个版本?
- postgresql - Postgres - 多个数据库的 RDS 副本到由模式分隔的单个数据库(数据库名称)
- java - servlet appServlet 的消息 Servlet.init() 抛出异常
- php - 如何将数组传递给 PHP 中的函数
- reactjs - 我收到有关 React 中目标库的错误
- .net - 如何通过 .net Web API 正确访问文件系统文件?
- sql - SQL 将 B 列中的值除以依赖于 A 列中的条目的不同值
- sql - 匹配所有数字直到第一个空格