python os.listdir的替代方案os.scandir

版权声明:本文为博主原创文章,转载请注明来源 https://blog.csdn.net/qq_26948675/article/details/89526151

当一个文件夹里面的文件非常多的时候,比方说,上百万个文件的时候,使用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)

猜你喜欢

转载自blog.csdn.net/qq_26948675/article/details/89526151