Python os.walk() 应用

目标是遍历文件夹,输出不含目标文件类型的文件夹路径;
使用os.walk()函数
Windows系统中使用os.path.join(),出现\\,使用Path(filePath).as_posix()来处理;

import os
from pathlib import Path

rootDir = 'D:\SVN'
sempty = set([])
slost = set([])


# 判断没有目标文件类型的文件夹
def lost_file(medimfour):
    a = 0
    for file in medimfour:
        if os.path.splitext(file)[1].find('mp4') == 1:
            a += 1

    if a == 0:
        return True
    else:
        return False


def list_all(vedio):
    global sempty, slost
    if not os.listdir(vedio):
        sempty.add(Path(vedio).as_posix())
    else:
        for root, dirs, files in os.walk(vedio):
            if len(dirs) == 0 and len(files) == 0:
                sempty.add(Path(root).as_posix())

            if len(dirs) == 0 and len(files) > 0 and lost_file(files):
                slost.add(Path(root).as_posix())


list_all(rootDir)
print('空文件夹', len(sempty), sempty)
print('lost文件', len(slost), slost)

你可能感兴趣的:(Python os.walk() 应用)