zoukankan      html  css  js  c++  java
  • Python合集之目录操作(三)

    1.判断目录是否存在

    在Python中,有时需要判断给定的目录是否存在,这时可以使用os.path模块提供的exists()函数实现。

    os.path.exists(path)

    其中,path为要判断的目录,可以是绝对路径,也可以采用相对路径。如果给定的路径存在,则返回true,否则返回false。

    import os
    print(os.path.exists('C:\demo'))

    注:os.path.exists()函数除了可以判断目录是否存在,还可以判断文件是否存在。

    2.创建目录

    在Python中,os模块提供了两个创建目录的函数,一个用于创建一级目录,另一个用于创建多级目录。

    2.1 创建一级目录

    创建一级目录是指只能创建一级目录,在Python中,可以使用os模块提供的mkdir()函数实现。通过该函数只能创建指定路径中的最后一级目录,如果该目录的上一级不存在,则抛出FileNotFoundError异常。

    os.mkdir(path,mode=0o777)
    参数说明:
    path:用于指定要创建的目录,可以使用绝对路径,也可以使用相对路径。
    mode:用于指定数值模式,默认值为0777,该参数在非UNIX系统上无效或被忽略。
    import os
    os.mkdir("c:\demo")

    注:如果在创建路径时已经存在,将抛出FileExistsError异常。为了避免在创建目录时,因为存在抛出异常,可以在创建目录前,先判断指定的目录是否存在,只有当目录不存在时才创建。

    import os
    path="C:\demo"
    if not os.path.exists(path):
        os.mkdir(path)
        print("创建目录成功")
    else:
        print("目录已经存在")

    注:如果指定的目录有多级,而且最后一级的上级目录中有不存在的,则抛出FileNotFoundError异常,并且目录创建不成功。要解决该问题有两种方法,一种是使用创建多级目录的方法,一种是编写递归函数调用。如下代码:

    import os
    def mkdir(path):
        if not os.path.isdir(path):
            mkdir(os.path.split(path)[0])
        else:
            return 
        os.mkdir(path)
    mkdir("D:\mr\test\demo")

    2.2 创建多级目录

    使用 mkdir()函数只能创建一级目录,如果想要创建多级目录,可以使用OS模块提供的makedirs()函数,该函数用于采用递归的方式创建目录。

    os.makedirs(name,mode=0o777)
    参数说明:
    name:用于指定要创建的目录,可以使用绝对路径或者相对路径。
    mode:用于指定数值模式,默认值为0777,该参数在非UNIX系统上无效或被忽略。
    import os
    os.makedirs("C:\demo\test\dir\mr")

    花絮:

    本期的Python文件目录的处理就分享到这里,下期我们将继续分享Python文件目录的相关知识,感兴趣的朋友可以关注我。

    同时也可以关注下我的个人 微信订阅号,园子里面的文章也会第一时间在订阅号里面进行推送跟更新。

  • 相关阅读:
    appcompat_v7 esvalues-v21 hemes_base.xml:158: error: Error: No resource
    Eclipse主题更换方法
    为什么一个RadioGroup增加子元素,循环不错误,不循环就错位
    关于RelativeLayout设置垂直居中对齐不起作用的问题
    Android 自定义 radiobutton
    thinkpad alert键一直处于按着的状态
    自定义RadioGrop,支持添加包裹着的RadioButton
    LyaoutParameters作用
    Java开发经验
    文章标题
  • 原文地址:https://www.cnblogs.com/a-mumu/p/14772985.html
Copyright © 2011-2022 走看看