将大量文件根据文件名移动到不同的文件夹中

接上文,从阿里云下载整个目录的文件,文件有25w,总量约90G,文件数目多且总体积大。

将这些文件转移到不同的文件夹中,然后针对单个文件夹进行查看、压缩等会变得方便。

下面的例子是将文件按照文件的文件名的前三位将文件进行划分,创建对应的文件夹,然后将文件移动到文件夹中。 如果你有其他划分规则,按规则来即可。

import os
import shutil


src_folder = '/data/source'

folder = "/data/dest"

count = 0
for filename in os.listdir(src_folder):
  prefix = filename[:3]

  if not os.path.exists(folder+prefix):
    os.makedirs(folder+prefix)

  dst = os.path.join(folder+prefix, filename)

  shutil.move(os.path.join(src_folder, filename), dst)
  count = count + 1
  print(count)

最后修改于 2023-07-31