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目录处理的主要内容,如果未能解决你的问题,请参考以下文章

Linux 操作系统原理 — I/O 处理流程

C 语言网络编程 — Linux I/O 处理流程与优化

Java I/O 处理

I/O 虚拟化技术 — UIO Framework

24.Python文件I/O异常处理&断言assert

java I/O流基础(知识+代码示例)