如何从许多文件夹中删除特定数量的文件?

时间:2017-11-07 14:35:53

标签: python python-os

我们假设我有一组文件夹。我每个文件夹我有1000多个文件,我需要在每个文件夹中计数1000比删除剩下的, 例如:

Folder1包含1234个numpy文件,我想保留1000并删除234个文件。

我使用python,我显示每个文件夹的文件数,但我不能只保留1000个文件并删除其余文件。

import os
b=0
for b in range(256):
    path='path.../traces_classes_Byte_0/Class_Byte_Hypothesis_'+str(b)
    num_files = sum(os.path.isfile(os.path.join(path, f)) for f in os.listdir(path))
    print('Number of files in Class_Byte_Hypothesis_'+str(b)+' is ' +str(num_files))
你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

import os
for b in range(256):
    files = []
    path='path.../traces_classes_Byte_0/Class_Byte_Hypothesis_'+str(b)
    files = [f for f in os.listdir(path) if os.isfile(os.path.join(path, f))]
    if len(files) > 1000:
        for f in files[1000:]:
            os.remove(os.path.join(path, f))

我相信这应该可以解决问题。