如何在参数化生成的文件夹内批量创建对应子文件夹
问题修复方案
- 缩进错误:子文件夹创建相关的代码没有放在for循环体内,仅会在循环结束后执行一次,且只能读取到循环最后一次的
i值,无法为每个已创建的父级子文件夹生成对应次级目录 - 路径拼接错误:你把变量
Name直接写为了固定字符串'Name',同时os.path.join的使用方式不符合要求,没有按参数传入各级目录,反而自行拼接了错误的路径字符串 - 逻辑顺序错误:次级文件夹的命名逻辑脱离了循环,无法和每个父级子文件夹的序号对应
修复后的可运行代码
import os number = [1, 2, 3] root_path = 'C:/Temp/t2_t1_18/' for i in range(len(number)): # 创建父级子文件夹 name = 'GD_%d' % (number[i]) parent_folder = os.path.join(root_path, name) os.mkdir(parent_folder) # 在对应父级子文件夹内创建次级文件夹 subfolder_name = 'S1_%d' % (number[i]) sub_folder = os.path.join(parent_folder, subfolder_name) os.mkdir(sub_folder)
调整说明
- 补充了必要的
import os导入语句 - 把次级文件夹的命名、创建逻辑整体缩进放入for循环内部,保证每个父级子文件夹生成后立即生成对应的次级目录
- 提取根路径为单独变量,避免重复书写硬编码路径
- 正确使用
os.path.join按层级拼接路径,自动适配系统路径规则,避免手动拼接路径引发的错误
内容的提问来源于stack exchange,提问作者Shahadet Hossain
相关产品推荐
相关产品推荐

