如何显示相同目录名称但在子目录内的文件。将文件夹结构视为:
.
+ A
| a.txt
| b.txt
+ B
| c.txt
| d.txt
+ C
++ A
| e.txt
++ B
+++ M
+++ B
| g.txt
| f.txt
现在,如果我将目录指定为B
,则必须返回c.txt
,d.txt
f.txt
和g.txt
。
我试过了:
for root, dirs, files in os.walk("D:/user/main"):
for dirs in root:
if dirs == root:
print files
但它没有返回任何东西。我哪里错了?
答案 0 :(得分:0)
尝试打印每次迭代的root,dirs和文件,它将帮助确定会发生什么。
<强>&#34; B&#34; == root.split(&#34; \&#34;)[ - 1] 表示当前的os.walk正在处理&#34; D:/ user / mian / xx / xx / B&#34 ;
len(文件)表示只打印文件(如果存在),如果不存在则不打印。
import os
for root, dirs, files in os.walk("D:/user/main"):
if "B" == root.split("\\")[-1] and len(files) > 0:
print (files)