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