首页 > 解决方案 > 使用 Python 根据文件名创建文件夹

问题描述

我在一个文件夹中有大约一百万个文件,我想使用 Python 根据部分文件名将这些文件组织到文件夹中。下面包括一些文件名示例。我想根据第一个“_”之后和第二个“_”之前的信息为每种文件类型创建一个文件夹。

19930813_10-Q_edgar_data_60512_0000060512-94-000005_1

19931007_10-K-A_edgar_data_60512_0000060512-94-000006_1

所以对于第一个文件,我想创建一个名为“10-Q”的文件夹和第二个“10-KA”。我知道有几个类似的查询,但它们主要用于其他编程语言而不是 Python。谢谢您的帮助。

标签: python

解决方案


试试这个代码,希望它能工作:

import os
import shutil

folder_path = 'The folder containing files'
file_types = []
for file in (os.listdir(folder_path)):
    file_type_part_name_by_ = file.split('_')
    file_type = file_type_part_name_by_[1]
    if file_type not in file_types:
        file_types.append(file_type)
        os.mkdir(file_type)
        shutil.move(file, file_type)
    else:
        shutil.move(file, file_type)


推荐阅读