首页 > 解决方案 > 我想根据列表中的值在文件路径中创建空目录文件夹

问题描述

我有我的清单

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'

我需要帮助。我觉得我已经很接近了,可能需要做一个小的调整。

标签: for-loopdirectorypython-3.3

解决方案


你的代码有点奇怪......你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))

推荐阅读