Python实现递归创建多级文件夹的例子

mkdir为Linux操作系统中的创建目录命令,使用mkdir -p指令可以自动创建目标目录路径中尚不存在的上级目录(Windows操作系统也有同名的指令,用法稍有差别)。

主要涉及到三个函数

1、os.path.exists(path) 判断一个目录是否存在
2、os.makedirs(path) 多层创建目录
3、os.mkdir(path) 创建目录

例子

 代码如下 复制代码

def mkdir(path):
    # 引入模块
    import os
 
    # 去除首位空格
    path=path.strip()
    # 去除尾部 \ 符号
    path=path.rstrip("\\")
 
    # 判断路径是否存在
    # 存在     True
    # 不存在   False
    isExists=os.path.exists(path)
 
    # 判断结果
    if not isExists:
        # 如果不存在则创建目录
        print path+' 创建成功'
        # 创建目录操作函数
        os.makedirs(path)
        return True
    else:
        # 如果目录存在则不创建,并提示目录已存在
        print path+' 目录已存在'
        return False
 
# 定义要创建的目录
mkpath="d:\\qttc\\web\\"
# 调用函数
mkdir(mkpath)

以上是我写好的一个函数,只需要传入你要创建目录的全路径即可。
说明
在以上DEMO的函数里,我并没有使用os.mkdir(path)函数,而是使用了多层创建目录函数os.makedirs(path)。这两个函数之间最大的区别是当父目录不存在的时候os.mkdir(path)不会创建,os.makedirs(path)则会创建父目录。
比如:例子中我要创建的目录web位于D盘的qttc目录下,然而我D盘下没有qttc父目录,如果使用os.mkdir(path)函数就会提示我目标路径不存在,但使用os.makedirs(path)会自动帮我创建父目录qttc,请在qttc目录下创建子目录web。

Java的创建目录有mkdir和mkdirs两个方法,其中:

对于Python 2.X(X > 2.5)版本,使用Python模拟实现Linux下的mkdir -p指令功能的代码如下:

 代码如下 复制代码

 import os, errno

def mkdir_p(path):
    try:
        os.makedirs(path)
    except OSError as exc: # Python >2.5 (except OSError, exc: for Python <2.5)
        if exc.errno == errno.EEXIST and os.path.isdir(path):
            pass
        else: raise

而对于Python 3.X(X >= 2)版本,os.makedirs 函数还有第三个参数 exist_ok,该参数为真时执行mkdir
-p,但如果给出了mode参数,目标目录已经存在并且与即将创建的目录权限不一致时,会抛出OSError异常。

时间: 2024-12-22 03:01:48

Python实现递归创建多级文件夹的例子的相关文章

使用FSO自动创建多级文件夹

当我们用fso来生成静态页面的时候,通常都会希望生成的位置能整洁,明了.比如按年月日来划分,那么就会需要得到一个形如:"2009/6/"这样或者更多级的文件夹,所以我就写了一个自动创建多级文件夹的函数,在生成静态页面等方面使用非常方便. 当我们用fso来生成静态页面的时候,通常都会希望生成的位置能整洁,明了.比如按年月日来划分,那么就会需要得到一个形如:"2009/6/"这样或者更多级的文件夹,所以我就写了一个自动创建多级文件夹的函数,在生成静态页面等方面使用非常方

使用FSO自动创建多级文件夹的函数

开启FSO权限 在 开始-"运行"中执行regsvr32.exe scrrun.dll即可.如想关闭FSO权限,在上述命令中加/u参数.注册表中的键值位置:HKEY_CLASS_BOOT\F.S.O .FSO中有个方法是CreateFolder,但是这个方法只能在其上一级文件夹存在的情况下创建新的文件夹,所以我就写了一个自动创建多级文件夹的函数,在生成静态页面等方面使用非常方便.函数: 以下为引用的内容:' -------------------------------- ' 自动创建

在ASP中自动创建多级文件夹的函数

创建|函数 FSO中有个方法是CreateFolder,但是这个方法只能在其上一级文件夹存在的情况下创建新的文件夹,所以我就写了一个自动创建多级文件夹的函数,在生成静态页面等方面使用非常方便. 函数: --------------------------------' 自动创建指定的多级文件夹' strPath为绝对路径' 引用请保留版权' by im286_Anjer' 2005-4-3Function AutoCreateFolder(strPath) ' As Boolean       

在ASP中自动创建多级文件夹的函数(使用FSO)

 FSO中有个方法是CreateFolder,但是这个方法只能在其上一级文件夹存在的情况下创建新的文件夹,所以我就写了一个自动创建多级文件夹的函数,在生成静态页面等方面使用非常方便.函数:  ' --------------------------------' 自动创建指定的多级文件夹' strPath为绝对路径' 引用请保留版权' by im286_Anjer' 2005-4-3Function AutoCreateFolder(strPath) ' As Boolean        On

ASP中自动生成多级文件夹的函数(使用FSO)

FSO中有个方法是CreateFolder,但是这个方法只能在其上一级文件夹存在的情况下创建新的文件夹,所以我就写了一个自动创建多级文件夹的函数,在生成静态页面等方面使用非常方便.   函数:   ' --------------------------------   ' 自动创建指定的多级文件夹   ' strPath为绝对路径   ' 引用请保留版权   ' by im286_Anjer   ' 2005-4-3   Function AutoCreateFolder(strPath) '

PHP递归创建多级目录_php技巧

我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个"父目录不存在"的警告. echo $dir."创建成功<br>"; //输出创建成功的目录 }else{ $dirArr=explode('/',$dir); //当子目录没创建成功时,试图创建父目

PHP实现递归复制整个文件夹的类实例_php技巧

本文实例讲述了PHP实现递归复制整个文件夹的类.分享给大家供大家参考.具体如下: <?php /* * 文件夹复制类 */ class CopyFile { public $fromFile; public $toFile; /* * $fromFile 要复制谁 * $toFile 复制到那 */ function copyFile($fromFile,$toFile){ $this->CreateFolder($toFile); $folder1=opendir($fromFile); w

ios-应用可以创建dropbox文件夹

问题描述 应用可以创建dropbox文件夹 创建了一个iphone程序,用来整合Dropbox SDK.但是在Dropbox中创建文件夹时报错.请高人指点一下应该怎么创建文件夹? 代码: (DBRestClient*)restClient { if (restClient1 == nil) { restClient1 = [[DBRestClient alloc] initWithSession:[DBSession sharedSession]]; restClient1.delegate =

win8系统桌面如何创建空白文件夹?

  win8系统桌面如何创建空白文件夹?         1.按住Win+Q键,调出搜索框,然后在搜索框中输入"字符映射表",打开字符映射表; 2.在Win8笔记本系统安装弹出的字符映射表窗口上,可以查看到系统上显示的众多字符,然后找到空白字符,再点击它; 3.在Win8系统"字符映射表",然后点击"复制"项,即可变为可点击状态,点击复制后,再选择空白字符复制到剪贴板,然后返回到桌面上对文件名进行重命名,再粘贴.