方法一:

python 的os模块:

import gevent

from gevent import monkey

monkey.patch_all()

import os

import time

def remove_repetition(key):

global path,num

num += 1

print(key,num)

# 获取已经存在的key

os.chdir(path)

# 去重

os.remove(key)

if __name__ == '__main__':

# 已经保存的文件文件夹

start_time = time.time()

path = r'D:\zjf_workspace\001-地标、利器、服饰\004文本\baidu_isbn5\新建文件夹\txt'

# os.chdir(path)

key_list = os.listdir(path)

gevent_list = []

num = 0

for i in key_list:

if num >= 5000:

gevent.joinall(gevent_list)

print("准备删除gevents")

gevent.killall(gevent_list)

gevent_list = []

num = 0

gevent_key = gevent.spawn(remove_repetition,i)

gevent_list.append(gevent_key)

gevent.joinall(gevent_list)

# remove_repetition(path=path)

end_time = time.time()

print(end_time-start_time,"秒")

删除了57546个json文件,总共用时191秒,合301个文件每秒。(因为我的每个文件很小,所以多一点,但是也比Windows右击全选删除快,已经测试过了)

方法二(推荐,简单、高效):

将下面这俩句话放到Windows一个txt文档中,然后另存为一个.bat系统文件,将需要删除的文件或者文件夹拖到此.bat文件上即可。 DEL /F /A /Q \?%1 RD /S /Q \?%1 这个是我的做成的,参考网上的方法,因为我有个文件是0kb,一直删除掉,上网搜了这个方法,直接就删除了,把此文件留在电脑中备用。

87400个json小文件,用手机测试,用了202秒,合每秒430个,比第一个方法更快,可能是因为第一个方法需要借用python,以及相关模块原因吧,但是第一种比直接删除还快一点,所以建议用第二种方法。

2025-05-26 10:40:20