Python-递归地遍历目录并在文本文件中打印文件或空目录

时间:2020-03-24 06:37:03

标签: python

我是python新手,我给了一个任务,要不断进入目录并获取空的子目录或文件。 如果目录为空,则应将路径写入folder.txt,如果目录中包含文件,则应写入该文件的路径。 例如:

目录包含:

a/apple/mango/ess.txt
a/gat.xml
a/apple/asl/cdr/opa/est.py
a/apple/dse/
a/dews

输出(folder.txt)文件应为:

a/apple/dse/
a/dews

输出(file.txt)文件应为:

a/apple/mango/ess.txt
a/gat.xm
a/apple/asl/cdr/opa/est.py

我尝试使用此逻辑:

        for subdir, dirs, files in os.walk(path):
            for files in dirs:
                fp1 = (os.path.join(path, files))
                print (fp1)
                if len(os.listdir(fp1)) == 0:
                    print("Directory is empty")
                    folder_added.write("\n Empty folder found %s \n" % (fp1))

但是它只能到两个子文件夹。

1 个答案:

答案 0 :(得分:0)

您在正确的轨道上。此循环的每次迭代都描述一个新目录。 在每个目录中,您首先要检查sqlite3的列表是否为空。 如果为空,则将目录路径(在下面的示例中为files)写入文件。 如果root不为空,则可以循环遍历并将文件名写入其他输出文件:

files