在日常 GIS 数据处理、项目资料管理等工作中,手动创建分类文件夹效率低下、易出现名称错误与层级混乱问题。本文结合POI 分类管理真实业务场景,构建两种典型批量新建文件夹的应用情景,分别覆盖单层批量创建多层级(含子文件夹)批量创建场景,结合代码示例与场景说明,实现高效、规范的文件目录搭建,解决手动创建效率低、易出错的问题。

情景一:单层批量新建文件夹

场景描述

在 POI 数据整理、基础资料归档等工作中,需在统一根目录下批量创建一级分类文件夹(如 20 类标准 POI 目录),无需嵌套子层级,仅需一次性完成所有顶层目录创建。手动操作耗时费力,且易出现名称拼写错误、分类顺序错乱等问题,采用 Python 批量创建可实现一键生成、零误差输出。

实现代码
# 导入Python系统文件操作库
import os

# 定义要创建文件夹的根目录
root_path = r"E:\POI"

# 定义20个POI分类文件夹名称
folder_names = [
    "1_餐饮服务",
    "2_酒店住宿",
    "3_购物服务",
    "4_生活服务",
    "5_休闲娱乐",
    "6_旅游景点",
    "7_交通设施",
    "8_金融服务",
    "9_医疗保健",
    "10_科教文化",
    "11_政府机构",
    "12_公司企业",
    "13_汽车服务",
    "14_运动场馆",
    "15_公共设施",
    "16_通信服务",
    "17_房产小区",
    "18_农林牧渔",
    "19_能源电力",
    "20_工业设施"
]

# 循环遍历所有文件夹名称,逐个创建
for name in folder_names:
    # 拼接完整路径:根目录 + 文件夹名
    full_path = os.path.join(root_path, name)
    # 创建文件夹(已存在则不报错)
    os.makedirs(full_path, exist_ok=True)
    # 打印创建成功信息
    print("已创建文件夹:", full_path)

# 全部完成提示
print("\n✅ 20个POI分类文件夹全部创建完成!")

情景二:批量新建文件夹及其子文件夹

场景描述

在精细化 POI 数据管理、标准化项目归档等复杂场景中,仅一级目录无法满足分类需求,每个一级分类文件夹需配套专属子目录,形成层级化、结构化的目录体系,便于数据分类存储、快速检索和长期追溯。手动创建多层级目录易出现层级错乱、子文件夹漏建、结构不统一等问题,通过 Python 批量嵌套创建,可保证全量目录格式一致、完整无缺。

实现代码
import os

# 根目录路径(可根据实际修改)
root_path = r"E:\POI"

# 一级文件夹和对应的子文件夹配置
folder_config = [
    {
        "primary": "1_餐饮服务",
        "subs": ["餐厅", "咖啡馆", "酒吧", "小吃店"]
    },
    {
        "primary": "2_酒店住宿",
        "subs": ["酒店", "宾馆", "民宿", "招待所"]
    },
    {
        "primary": "3_购物服务",
        "subs": ["商场", "超市", "便利店", "品牌店", "市场"]
    },
    {
        "primary": "4_生活服务",
        "subs": ["家政", "美容美发", "维修", "快递", "照相馆"]
    },
    {
        "primary": "5_休闲娱乐",
        "subs": ["电影院", "KTV", "健身房", "网吧", "桌游馆"]
    },
    {
        "primary": "6_旅游景点",
        "subs": ["公园", "景区", "博物馆", "古镇", "地标建筑"]
    },
    {
        "primary": "7_交通设施",
        "subs": ["机场", "火车站", "地铁站", "公交站", "停车场"]
    },
    {
        "primary": "8_金融服务",
        "subs": ["银行", "ATM", "证券网点", "保险公司"]
    },
    {
        "primary": "9_医疗保健",
        "subs": ["医院", "诊所", "药店", "体检中心", "卫生院"]
    },
    {
        "primary": "10_科教文化",
        "subs": ["学校", "图书馆", "科技馆", "培训机构", "研究所"]
    },
    {
        "primary": "11_政府机构",
        "subs": ["政府部门", "公安局", "法院", "政务中心"]
    },
    {
        "primary": "12_公司企业",
        "subs": ["工厂", "写字楼", "公司", "产业园", "企业园区"]
    },
    {
        "primary": "13_汽车服务",
        "subs": ["加油站", "4S店", "维修厂", "洗车店", "停车场"]
    },
    {
        "primary": "14_运动场馆",
        "subs": ["体育场", "游泳馆", "球场", "体育馆", "健身中心"]
    },
    {
        "primary": "15_公共设施",
        "subs": ["公共厕所", "消防站", "邮政局", "自来水厂"]
    },
    {
        "primary": "16_通信服务",
        "subs": ["运营商营业厅", "信号塔", "通信基站相关网点"]
    },
    {
        "primary": "17_房产小区",
        "subs": ["住宅小区", "公寓", "写字楼", "商住两用楼"]
    },
    {
        "primary": "18_农林牧渔",
        "subs": ["农场", "养殖场", "林场", "渔场", "农家乐"]
    },
    {
        "primary": "19_能源电力",
        "subs": ["电厂", "变电站", "加油站", "充电桩", "能源站"]
    },
    {
        "primary": "20_工业设施",
        "subs": ["工厂", "仓库", "工业园区", "生产基地"]
    }
]

# 批量创建一级文件夹和子文件夹
for item in folder_config:
    primary_name = item["primary"]
    sub_names = item["subs"]
    
    # 创建一级文件夹
    primary_path = os.path.join(root_path, primary_name)
    os.makedirs(primary_path, exist_ok=True)
    print(f"✅ 已创建一级文件夹:{primary_path}")
    
    # 创建子文件夹
    for sub_name in sub_names:
        sub_path = os.path.join(primary_path, sub_name)
        os.makedirs(sub_path, exist_ok=True)
        print(f"  └─ 已创建子文件夹:{sub_path}")

print("\n🎉 所有一级文件夹和子文件夹创建完成!")

更多推荐