在不同位置显示来自相同文件夹名称的文件

时间:2016-03-11 04:57:49

标签: python file directory subdirectory

如何显示相同目录名称但在子目录内的文件。将文件夹结构视为:

.
+ A
|   a.txt
|   b.txt
+ B
|   c.txt
|   d.txt
+ C
++   A
|      e.txt
++   B
+++      M
+++      B
|        g.txt
|   f.txt

现在,如果我将目录指定为B,则必须返回c.txtd.txt f.txtg.txt

我试过了:

for root, dirs, files in os.walk("D:/user/main"):
    for dirs in root:
        if dirs == root:
            print files

但它没有返回任何东西。我哪里错了?

1 个答案:

答案 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)