import os
import random
def keep_n_dir(directory, n):
files = os.listdir(directory) #You retrieve the list of names of files
if len(files) > n: #If you already have less than n files, you do nothing
diff = len(files) - n
files_to_delete = random.sample(files, k=diff)
for file in files_to_delete:
os.remove(os.path.join(directory, file))
如果您有目录列表,这可能会对您有所帮助: