当一个文件夹里面的文件非常多的时候,比方说,上百万个文件的时候,使用listdir来获取每个文件的名称来做区别处理,速度回非常慢,那么,使用以下代码,可能效果会好上很多
import os import shutil data_path='D:/oanda/' target_path='D:/data/' with os.scandir(data_path) as it: for entry in it: if not entry.name.startswith('.') and entry.is_file(): file_name=entry.name pair='__'.join(file_name.split('__')[:2]) shutil.move(data_path+file_name,target_path+pair+'/'+file_name) print(file_name)