241

我想把我的程序的输出信息放到一个文件夹中。如果给定文件夹不存在,则程序应创建一个新文件夹,其文件夹名称与程序中给出的文件夹名称相同。这可能吗?如果是,请告诉我如何。

假设我已经给出了类似的文件夹路径"C:\Program Files\alex"并且alex文件夹不存在,那么程序应该创建alex文件夹并将输出信息放在alex文件夹中。

4

3 回答 3

374

您可以使用os.makedirs()创建一个文件夹
并使用os.path.exists()来查看它是否已经存在:

newpath = r'C:\Program Files\arbitrary' 
if not os.path.exists(newpath):
    os.makedirs(newpath)

如果您尝试制作安装程序:Windows Installer为您做了很多工作。

于 2009-08-13T20:43:37.813 回答
50

你试过 os.mkdir 吗?

你也可以试试这个小代码片段:

mypath = ...
if not os.path.isdir(mypath):
   os.makedirs(mypath)

如果需要,makedirs 创建多级目录。

于 2009-08-13T20:39:10.353 回答
40

您可能需要os.makedirs,因为如果需要,它也会创建中间目录。

import os

#dir is not keyword
def makemydir(whatever):
  try:
    os.makedirs(whatever)
  except OSError:
    pass
  # let exception propagate if we just can't
  # cd into the specified directory
  os.chdir(whatever)
于 2009-08-13T20:46:12.253 回答