1

我的文件夹包含一些文件,我需要删除较小的文件。我能够得到下面给出的代码的大小,但我很困惑如何删除较小的文件

for root, dirs, files in os.walk(Path):
    for fn in files:
        path = os.path.join(root, fn)
        size = os.stat(path).st_size
4

1 回答 1

2

如果您试图识别每个文件夹中最小的文件,请在实际删除任何内容之前尝试以下代码。由于您的代码已经获取了文件大小,因此我对其稍作修改以在字典中为每个文件夹捕获文件名和大小。这使得使用 min() 函数返回具有最小大小的文件名变得容易。

for root, dirs, files in os.walk(stpath):
    d = {} # intialize dict
    for fn in files:
        path = os.path.join(root, fn)
        size = os.stat(path).st_size
        # capture file name and size for files in root
        d[fn] = size
    # some folders may be empty
    if d:
        # get the file name of the file with the smallest size
        smallestfile = min(d, key=d.get)
        print(root, smallestfile, d[smallestfile])

当然,我只打印了每个文件夹中最小的文件。当您确认这是您想要的内容时,您可以删除它们。

于 2016-01-06T09:06:01.987 回答