我想扫描一个80 GB的驱动器,它有多个目录。每个目录包含一些扩展名为.txt的文件,我想将这些文件复制到其他目录中吗?我打算在最短的时间内完成这项工作,如何在Python中实现这一目标。
我能够通过这种方式做到这一点:
import os
DIRS = [dirs for dirs in os.listdir()]
for var in DIRS:
if var.endswith('.txt'):
shutil.copy('C:\\users\\testfolder', var)
任何更好的&优化的方法来实现这一目标?
答案 0 :(得分:1)
如果您有更深层次的文件夹结构,os.walk
或os.scandir
是为了有效地遍历文件夹结构而制作的。使用os.listdir
,您会得到一个列表,如果它们很大,则会比您从os.scandir
获得的生成器慢得多。
正如评论中所提到的,你不太可能加快单个硬盘上的写操作,但读操作可以从多个进程中受益。