Directory-tree 列表限制器 Python
Directory-tree listing limiter Python
正如标题所解释的那样,我已经尝试了几个来自该站点的已经发布的问题的答案。问题是,我正在尝试 select 我挖掘到的文件夹的级别。例如,如果我只想 select 直接子目录,它看起来像这样:
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 的新手,所以我可能遗漏了很明显的东西。
编辑:我重新表述了问题,这样我就可以更好地解释我的问题,因为它显然令人困惑,而且我所说的方式没有任何意义。
如果我正确理解问题,这应该可以满足您的要求。这是一个简单的递归函数,它只记录 "deep" 它进入目录的方式,并在达到所需的递归次数时完成。如果您需要更多解释,请告诉我。
import os
search_dir = "path/to/dir"
inspection_depth = 1
def walk(path, depth):
depth += 1
folders = [f for f in os.listdir(path) if os.path.isdir(os.path.join(path, f))]
for folder in folders:
full_path = os.path.join(path, folder)
print(full_path)
if depth < inspection_depth:
walk(full_path, depth)
# Call the recursive function
walk(search_dir, 0)
正如标题所解释的那样,我已经尝试了几个来自该站点的已经发布的问题的答案。问题是,我正在尝试 select 我挖掘到的文件夹的级别。例如,如果我只想 select 直接子目录,它看起来像这样:
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 的新手,所以我可能遗漏了很明显的东西。
编辑:我重新表述了问题,这样我就可以更好地解释我的问题,因为它显然令人困惑,而且我所说的方式没有任何意义。
如果我正确理解问题,这应该可以满足您的要求。这是一个简单的递归函数,它只记录 "deep" 它进入目录的方式,并在达到所需的递归次数时完成。如果您需要更多解释,请告诉我。
import os
search_dir = "path/to/dir"
inspection_depth = 1
def walk(path, depth):
depth += 1
folders = [f for f in os.listdir(path) if os.path.isdir(os.path.join(path, f))]
for folder in folders:
full_path = os.path.join(path, folder)
print(full_path)
if depth < inspection_depth:
walk(full_path, depth)
# Call the recursive function
walk(search_dir, 0)