【发布时间】:2020-03-22 07:26:23
【问题描述】:
正如标题所解释的,我已经尝试了该网站上已发布问题的几个答案。问题是,我试图能够选择我挖掘的文件夹的级别。例如,如果我只想选择直接子目录,它看起来像这样:
Subfolder #1
Subfolder #2
Subfolder #3
Subfolder #4
但是,如果我想要相同但同时显示已经提到的子目录的直接子目录,它看起来像这样:
Subfolder #1
Subfolder #1 of the subfolder #1
Subfolder #2 of the subfolder #1
Subfolder #2
Subfolder #1 of the subfolder #2
Subfolder #3
Subfolder #4
Subfolder #1 of the subfolder #4
Subfolder #2 of the subfolder #4
Subfolder #3 of the subfolder #4
PD:我对 Python 还很陌生,所以我可能遗漏了很明显的东西。
编辑:我重新提出了这个问题,所以我可以更好地解释我的问题,因为它显然令人困惑,并且按照我说的方式没有任何意义。
【问题讨论】:
-
你的意思是像os.listdir()? tutorialspoint.com/python/os_listdir.htm。我想您的问题令人困惑,因为如果您想要一棵树,那么您为什么只对直接子目录感兴趣。一棵树意味着您正在经历多个层次结构......
-
我不明白你的问题。 “没有格式化的版本”是什么意思?对我来说,您链接的问题似乎已经回答了您的问题。您想要“直接子目录”,但
os.walk正是如此。在每次迭代中,它都会产生“当前目录”文件和子目录的列表。如果您想要“直接子目录”,您只需在第一次迭代时停止:for _, immediate_subdirectories, _ in os.walk(parent_dir)):break或next(os.walk(parent_dir))[1] -
@Spencer 好吧,os.listdir() 的问题在于它不使用目录树样式,因为这是我的问题的重点。
-
@racer21 斯宾塞说你想要的是一个目录列表(字面意思),而不是一棵树。您只是想逐行获取输出吗?如果是这样,您是否尝试过
for f in os.listdir(somedir): print(f)?否则你能edit这个问题并澄清一下,并给出一些预期的输出吗? -
问题已经完全重新表述,所以我可以更好地解释我的问题。
标签: python directory-tree