Python循环创建多级目录报错:系统找不到指定路径
问题原因与解决方案
报错原因
os.mkdir() 仅能创建单级目录,若目标目录的父路径(比如示例中的C:\Users\Ricardo\Dropbox\test\NY\inputs)不存在,就会触发FileNotFoundError——它不会自动创建缺失的上层目录。
修复方案
改用os.makedirs(),该函数支持递归创建多级目录,还可通过exist_ok=True参数避免目录已存在时的报错(无需额外判断os.path.exists())。
修改后的代码
import os import pandas as pd # 原代码遗漏pandas导入,需补充 PATH_TEST = r'C:\Users\Ricardo\Dropbox\test' d = {'Municipalities': ['NY', 'Boston']} df = pd.DataFrame(data=d) for index in range(len(df)): target_dir = os.path.join(PATH_TEST, df['Municipalities'][index], 'inputs', "b-d") os.makedirs(target_dir, exist_ok=True)
补充说明
- 原代码未导入
pandas,运行时会触发NameError: name 'pd' is not defined,已补充导入语句。 exist_ok=True参数(Python 3.2+支持)的作用是:若目标目录已存在,不会抛出FileExistsError,省去手动判断目录是否存在的步骤。
内容的提问来源于stack exchange,提问作者Ricardo Gomes
相关产品推荐
相关产品推荐

