You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在多个指定文件夹下批量创建相同子文件夹?对应Python代码报错如何解决

问题原因
  • root_path定义位置错误:你将root_path放在了遍历listOfIds的for循环之外,此时变量id还未被正确赋值,且循环过程中root_path不会随着遍历的id动态更新,路径拼接完全失效。
  • 创建文件夹的路径传参错误:你拼接好的完整路径存在path变量里,但实际调用os.mkdir时传入的是folder(仅子文件夹名的相对路径),导致所有子文件夹都直接创建在Python脚本的当前运行目录下,第一次创建成功后,第二次循环遇到同名文件夹就抛出已存在的错误,这也是你上层文件夹为空的原因——子文件夹根本没有被创建到目标路径下。
  • 补充说明:你当前folders列表只有3个元素,如果需要创建4个子文件夹,自行补充第四个名称到列表中即可。
修正后代码
import os

listOfIds = [101,102,103,104,105,106,107,108,109,201,202,203,204,205,207,209,212,213,214,219,220,221,222,223,225,227,228,231,232,233,234,236,237,239,240,241,242,245,247,249,252,301,302,303,304,305,306,307,401,402,403,404,406,408,409,410,412,413,414,416,418,419,420,421,422,423,427,428,429,431,433,434,435,436,437,438,439,440,441,501,503,505,506,508,509,510,511,512,514,516,517,520,522,524,526,527,529,601,602,603,605,606,607,608,609,610,611,613,614,616,617,618,621,623,624,627,629,630,631,632,633,634,635,637,638,640,642,644,645,649,650,651,652,653,654,655,657,658,661,701,806,807,808,811,812,813,817,818,821,822,823,824,825,826,827,828,2003,2008,2010,2011,2012,2013,2014,2017,2019]
# 需要4个子文件夹的话直接在列表里补充第四个名称即可
folders = ['Financial Statement','Corporate Profit','News']

root_prefix = 'F:/alkhaleej_pdf/BoursaKuwait_Pdfs/'

for id in listOfIds:
    # 每个id对应独立的上层文件夹路径
    current_root = os.path.join(root_prefix, str(id))
    for folder in folders:
        target_path = os.path.join(current_root, folder)
        # exist_ok=True 表示如果文件夹已存在则跳过,不会报错,兼容性更强
        # 同时os.makedirs会自动创建不存在的上层文件夹,不需要提前创建id对应的上层目录
        os.makedirs(target_path, exist_ok=True)

内容的提问来源于stack exchange,提问作者Med_Maliari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:18:03