for-loop - 我想根据列表中的值在文件路径中创建空目录文件夹
问题描述
我有我的清单
listnumbers='1.0,5.0,6.0,7.0,9.0,10.0'
我有我的文件路径
filepath=r'C:\ArcGIS\Projects\Name'
我还有一个 for 循环,它试图从 listnumbers 中获取值
for line in listnumbers:
for value in line.split(','):
os.makedirs(os.path.join(path,value))
虽然它创建了第一个空文件夹,即 1,但它不会创建以下文件夹,即 5。
相反,我收到一条错误消息,上面写着
FileExistsError: [WinError 183] Cannot create a file when that file already exists : 'C:\ArcGIS\Projects\Name'
我需要帮助。我觉得我已经很接近了,可能需要做一个小的调整。
解决方案
你的代码有点奇怪......你listnumbers
不是一个列表而是一个字符串,所以当你这样做时for line in listnumbers:
,变量会line
在每个字符上运行listnumbers
这段代码对我有用:
import os
listnumbers = '1.0,5.0,6.0,7.0,9.0,10.0'
folder_root = '/path/to/your/folder' # in your case: C:\ArcGIS\Projects\Name
folders = listnumbers.split(',')
for f in folders:
os.makedirs(os.path.join(folder_root, f))
推荐阅读
- database - 如何删除附加到我的 AWS Elastic Beanstalk 的数据库配置
- polymorphism - 是否存在一组不能在所有 OOPS 语言中重载的通用运算符?
- python - 处理具有不同分隔符的两个文件 Python 3
- ada - 使用 Unchecked_Conversion 读取值并转换为自定义类型
- html - 如何防止内容消失在固定标题后面?
- python - 字符串循环大小写(小写 - 大写 - 大写)
- lua - 在 Centos7 上安装 LuaSQL
- sql - 为树状数据集创建递归查询
- ios - Swift 示例未使用 UIButton 打印正确的 UILabel
- dart - Flutter:向下滚动时移动顶部的固定元素