2

我正在尝试基于简单的文本文件创建批量文件夹。os.makedir有助于创建新文件夹,但我不确定如何将 newpath 变量与文件夹列表合并。以下是我正在尝试的。我知道代码有语法错误。所以需要一些帮助来纠正/增强代码。

import os.path  
newpath = r'C:\Program Files\test\'  
with open('folders.txt') as f:  
    for line in f:  
        ff = os.makedirs(newpath,line.strip())  
        ff.close()
4

3 回答 3

3

使用os.path.join加入路径组件。

import os.path  
newpath = r'C:\Program Files\test\'  
with open('folders.txt') as f:  
    for line in f:  
        os.makedirs(os.path.join(newpath, line.strip()))
于 2012-08-29T10:46:54.273 回答
2

您可以使用此处记录的 os.path.join 函数。

于 2012-08-29T10:42:26.910 回答
1

也许是这样的?

import os, sys
newpath = 'C:\Program Files\test'
with open(open('folders.txt') as f:
  for line in f:
    newdir = os.path.join(newpath, line.strip())
    try:
      os.makedirs(newdir)
    except OSError:  # if makedirs() failed
      sys.stderr.write("ERR: Could not create %s\n" % newdir)
      pass  # continue with next line

笔记:

  • 用于os.path.join()组合路径。这将自动使用适合您的操作系统的分隔符。
  • os.makedirs()不返回任何东西
  • os.makedirs()OSError如果目录已存在或无法创建,将引发异常。
于 2012-08-29T10:43:37.547 回答