仅从第三级目录中检索文件
Retrieve files from only the third level of directory
我有一个具有以下形式的目录:
A/ : 根
B/:一级子目录,包含以下目录
01/ 02/ 03/ 04/ 05/ 06/ 07/
C/:B/(01/ 或 02/ 或 03/ 或 04/ 或 05/ 或 06/ 或 07/)的每个子目录所在的第三层
最多包含三个子目录
001/002/003/
我要取回文件在 001/ 002/ 003/ :
我的树如下:
A/B/C/01/001/files.txt
我怎样才能访问它?
我试过什么?
for root, dirs,files in sorted(os.walk(path+ "/", topdown=False)): # root
for lab in dirs: # level 1
new_path=path+category+'/'+lab+'/'
for ro,dir,f in os.walk(new_path): #level 2
for dr in dir:
for ri, dir, file in os.walk(new_path+'/'+dr): #level 3
os.chdir(new_path+'/'+dr)
text_file=glob.glob("*.txt")
有什么有效的方法可以避免 5 个嵌套的 for 循环吗?
当我尝试时,仅此一项对我有用
import os
path = r'C:\root'
for root, dirs,files in os.walk(path): # root
for f in files:
print(f)
这将输出级别 3 上的所有文件。这实际上是包含在级别 B 的 7 个目录中的每一个的三个子目录 001/ 002/ 003/ 中的文件。
我有一个具有以下形式的目录:
A/ : 根
B/:一级子目录,包含以下目录
01/ 02/ 03/ 04/ 05/ 06/ 07/
C/:B/(01/ 或 02/ 或 03/ 或 04/ 或 05/ 或 06/ 或 07/)的每个子目录所在的第三层 最多包含三个子目录
001/002/003/
我要取回文件在 001/ 002/ 003/ :
我的树如下: A/B/C/01/001/files.txt
我怎样才能访问它?
我试过什么?
for root, dirs,files in sorted(os.walk(path+ "/", topdown=False)): # root
for lab in dirs: # level 1
new_path=path+category+'/'+lab+'/'
for ro,dir,f in os.walk(new_path): #level 2
for dr in dir:
for ri, dir, file in os.walk(new_path+'/'+dr): #level 3
os.chdir(new_path+'/'+dr)
text_file=glob.glob("*.txt")
有什么有效的方法可以避免 5 个嵌套的 for 循环吗?
当我尝试时,仅此一项对我有用
import os
path = r'C:\root'
for root, dirs,files in os.walk(path): # root
for f in files:
print(f)
这将输出级别 3 上的所有文件。这实际上是包含在级别 B 的 7 个目录中的每一个的三个子目录 001/ 002/ 003/ 中的文件。