I/O目录处理
Posted cactus-xiaot
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I/O目录处理相关的知识,希望对你有一定的参考价值。
在 Linux 中我们比较习惯用命令去新建以及删除文件,那么在python里面我们怎样去操作目录呢?下面我们将为大家介绍自动化测试中常用的一些I/O目录处理函数。
在使用IO常用函数之前,我们需要引入其所在的模块,使用我们在模块导入时学习到的import关键字进行导入即可:
1、新建/删除目录
1)新建目录
函数:mkdir()
示范代码如下:
执行代码后,会新建一个名字为 test 的文件夹,截图如下:
如果需要在该目录下创建文件,就需要结合我们之前学习的open() 函数,大家可以自行尝试,这里不再赘述。
2)删除目录
函数:rmdir()
示范代码如下:
运行后,我们能看到原来新建的 test 文件夹已经被删除了,需要提醒大家的是,rmdir()操作非常危险,不建议大家使用。
2、寻找目录、文件路径
在这里,我们将学习4个比较常用的函数,其他不常用的函数大家如果有兴趣,可以去自行扩展。我们先准备一个多层级的目录结构,方便我们做示范。
1)os.path.abspath()
函数作用:获取当前绝对路径
示范代码如下:
运行代码后,返回的结果是:
2) os.path.dirname()
函数作用:获取当前文件的上一级目录,不包括当前文件
示范代码如下:
运行代码后,返回的结果是:
观察到我们的 demo_01_io.py 文件是在sub_001目录下,但是我们使用os.path.dirname()函数只获取到了文件以上的路径。
注意:__file__ 指的是当前文件
3)os.getcwd()
函数作用:获取当前工作路径
示范代码如下:
运行代码后,返回的结果是:
4)os.path.basename()
函数作用:获取当前路径的文件名
示范代码如下:
运行代码后,返回的结果是:
3、目录路径的其他操作
1)os.path.join(a,b)
函数作用:路径拼接
示范代码如下:
运行代码后,返回的结果是:
需要注意的是,路径得到的是一个字符串,如果真的要创建一个文件,则使用open()函数。
2)os.path.isdir(),os.path.isfile()
函数作用:判断是否是目录,判断是否是文件,返回值是布尔类型的值
示范代码如下:
运行代码后,返回的结果是:
3)os.path.exists()
函数作用:判断一个路径是否存在
示范代码如下:
运行代码后,返回的结果是:
它常与创建目录函数结合使用,判断一个目录如果存在,则不做任何操作,如果该目录不存在,则创建目录,示范代码如下:
运行代码后,我们发现创建了一个subbdir 目录:
以上是关于I/O目录处理的主要内容,如果未能解决你的问题,请参考以下文章