如何删除文件夹及其子文件夹中的所有空文件?

Joh*_*hon 3 python

我正在尝试删除文件夹中的所有空文件,并且文件夹中有文件夹,因此它也需要检查这些文件夹中的内容:

例如删除 C:\folder1\folder1 和 C:\folder1\folder2 等中的所有空文件

use*_*274 5

import sys
import os

def main():
    getemptyfiles(sys.argv[1])


def getemptyfiles(rootdir):
    for root, dirs, files in os.walk(rootdir):
        for d in ['RECYCLER', 'RECYCLED']:
            if d in dirs:
                dirs.remove(d)

        for f in files:
            fullname = os.path.join(root, f)
            try:
                if os.path.getsize(fullname) == 0:
                    print fullname
                    os.remove(fullname)
            except WindowsError:
                continue
Run Code Online (Sandbox Code Playgroud)

这将通过一些调整起作用:
os.remove()语句可能会失败,因此您可能还想将其包装起来try...exceptWindowsError是特定于平台的。过滤遍历的目录不是绝对必要的,但很有帮助。