python - 在子文件夹中创建文件夹
问题描述
我是 python 新手,我正在寻找一种在子文件夹中创建子文件夹的方法。我的文件树如下所示:
>> Main Folder
>> Folder a
>> Folder 1
>> Folder 2
>> Folder b
>> Folder 1
>> Folder 2
我正在寻找一种在最底层(文件夹 1 和文件夹 2)创建新文件夹的方法。
我试过使用 os.walk 和 os.path,像这样
for dirpath, subdirs, files in os.walk(current_path):
for subdir in subdirs:
filePath = os.path.abspath(subdir)
newFolder = (filePath + "/new")
if not os.path.exists(newFolder):
os.mkdir(newFolder)
但这只会在第二级(文件夹 a 和文件夹 b)中创建新文件夹,然后给我错误:
FileNotFoundError:[Errno 2] 没有这样的文件或目录:'/Users/diunt-02/Desktop/Brown_Brothers/TEST/new/new'
我认为循环正在创建新文件夹,而 os.walk 找不到它们的路径。是否有任何建议让 os.walk 向下移动到下一个级别并在那里创建一个文件夹?
解决方案
只需使用os.makedirs。它会自动创建必要的父文件夹。
path = 'Main Folder/Folder a/Folder 1'
if not (os.path.exists(path)):
os.makedirs(path)
您可以以递归方式使用它来解决您的问题。
推荐阅读
- react-native - 从子导航器屏幕导航到父导航器屏幕
- javascript - 翻译后 Chrome 视频标签呈现不正确
- amazon-web-services - 如何限制用户仅查看特定存储桶
- amazon-web-services - 如何解决在 aws sagemaker 中部署模型的错误?
- jsf - 无法在多列上对 primefaces 的数据表进行排序?
- python - Pandas:将列中的列表值映射到基于组的字典
- scala - Scala:具有通用函数参数的案例类
- javascript - 如何使动作可重用?ReactJS 与 Redux
- c# - 如何更快地对子实体进行分组和计数?
- android - 无法安装应用程序:SHELL_UNRESPONSIVE -android studio 3.5