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


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:\demo\test\dir\lzy”目录,可以使用下面的代码:

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

执行上面的代码后,将删除“C:\demo\test\dir”目录下的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内置的标准模块shutilrmtree()函数实现。例如,要删除不为空的“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) #创建
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值