我的文件夹包含一些文件,我需要删除文件较小的文件。我能够得到下面给出的代码的大小,但我很困惑,如何删除尺寸较小的文件
for root, dirs, files in os.walk(Path):
for fn in files:
path = os.path.join(root, fn)
size = os.stat(path).st_size
答案 0 :(得分:1)
如果您尝试识别每个文件夹中最小的文件,请在实际删除任何内容之前尝试以下代码。由于您的代码已经获得了文件大小,我稍微修改了它以捕获每个文件夹的字典中的文件名和大小。这样可以使用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])
当然,我只打印每个文件夹中的最小文件。当您确认这是您想要的时,您可以改为删除它们。