栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

90文件夹操作——创建和删除一级目录

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

90文件夹操作——创建和删除一级目录

文章目录
  • 1、创建一级目录
    • os.path.split()函数
  • 2、删除目录
  • 3、应用

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

1、创建一级目录

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

os.mkdir(path, mode=0o777)

参数说明:

  • path:用于指定要创建的目录,可以使用绝对路径,也可以使用相对路径。
  • mode:用于指定数值模式,默认值为0777。该参数在非UNIX系统上无效或被忽略。

例如,在Windows系统上创建一个C:demo目录,可以使用下面的代码:

import os
os.mkdir("C:\demo")      # 创建C:demo目录

执行下面的代码后,将在C盘根目录下创建一个demo目录,如下图所示。


如果在创建路径时已经存在将抛出FileExistsError异常,例如,将上面的示例代码再执行一次,将抛出如图2所示的异常。

要解决上面的问题,可以在创建目录前,先判断指定的目录是否存在,只有当目录不存在时才创建。具体代码如下:

import os
path = "C:\demo"                      # 指定要创建的目录
if not os.path.exists(path):          # 判断目录是否存在
    os.mkdir(path)                       # 创建目录
    print("目录创建成功!")
else:
    print("该目录已经存在!")

执行上面的代码,将显示“该目录已经存在!”。

注意:如果指定的目录有多级,而且最后一级的上级目录中有不存在的,则抛出FileNotFoundError异常,并且目录创建不成功。要解决该问题有两种方法,一种是使用创建多级目录的方法(将在后面进行介绍)。另一种是编写递归函数调用os.mkdir()函数实现,具体代码如下:

os.path.split()函数

语法:os.path.split('PATH')
参数说明:

  • PATH指一个文件的全路径作为参数
  • 如果给出的是一个目录和文件名,则输出路径和文件名
  • 如果给出的是一个目录名,则输出路径和为空文件名

实际上,该函数的分割并不智能,它仅仅是以 “PATH” 中最后一个 ‘/’ 作为分隔符,分隔后,将索引为0的视为目录(路径),将索引为1的视为文件名,如:

2、删除目录

删除目录可以通过使用os模块提供的rmdir()函数实现。通过rmdir()函数删除目录时,只有当要删除的目录为空时才起作用。rmdir()函数的基本语法格式如下:

os.rmdir(path)

其中,path为要删除的目录,可以使用相对路径,也可以使用绝对路径。

例如,要删除刚刚创建的“C:demotestdirlzy”目录,可以使用下面的代码:

import os
os.rmdir("C:\demo\test\dir\lzy")      # 删除C:demotestdirmr目录

执行上面的代码后,将删除“C:demotestdir”目录下的lzy目录。

注意:如果要删除的目录不存在,那么将抛出“FileNotFoundError: [WinError 2] 系统找不到指定的文件”异常。因此,在执行os.rmdir()函数前,建议先判断该路径是否存在,可以使用os.path.exists()函数判断。具体代码如下:

import os
path = "C:\demo\test\dir\lzy"               # 指定要创建的目录
if os.path.exists(path):                      # 判断目录是否存在
    os.rmdir("C:\demo\test\dir\lzy")       # 删除目录
    print("目录删除成功!")
else:
print("该目录不存在!")

使用rmdir()函数只能删除空的目录,如果想要删除非空目录,则需要使用Python内置的标准模块shutil的rmtree()函数实现。例如,要删除不为空的“C:\demo\test”目录,可以使用下面的代码:

import shutil
shutil.rmtree("C:\demo\test")           # 删除C:demo目录下的test子目录及其内容
3、应用

在e:下如果lzy文件夹存在,则删除。如果不存在,则新建。

import os
path = "e:\lzy"
if os.path.exists(path):  #该目录存在
    #删除
    os.rmdir(path)
else:
    os.mkdir(path) #创建
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/681804.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号