前言
- 为什么要学习os模块?
做为一名优秀的软件测试工程师,我们是要编写大量的python自动化代码和生成测试报告,我们需要访问和处理文件。如何能方便快捷的处理这些文件呢? - 能处理工作中什么样的问题?
 
在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖于os模块,所以今天整理下比较常用的几个方法。

os.getcwd()
- 得到当前工作目录,即当前python脚本目录路径
 
#! /usr/bin/python3
# -*- coding:utf-8 -*-'
# @Time    : 2020/8/8 17:03
# 公众号  : 码上开始
import os
# 查看当前路径文件路径
print(os.getcwd())
# 运行结果
E:\studyos.listdir(path)
- 返回指定目录下的所有文 件和目录名
 
#! /usr/bin/python3
# -*- coding:utf-8 -*-'
# @Time    : 2020/8/8 17:03
# 公众号  : 码上开始
import os
# 当前路径有哪些文件,返回的路径有哪些文件
print(os.listdir(os.getcwd()))
# 运行结果
['day1.py', 'day2.py', 'day3.py', 'day4.py', 'day5.py']os.mkdir(path)
- Python的
mkdir()方法使用数字模式模式创建一个名为path的目录。默认模式为0777(八进制) 
#! /usr/bin/python3
# -*- coding:utf-8 -*-'
# @Time    : 2020/8/8 17:03
# 公众号  : 码上开始
import os
os.mkdir("E:/study/hello")os.rmdir(path)
- 删除目录(删除path指定的空目录,如果目录非空,则抛出一个OSError异常。)
 
#! /usr/bin/python3
# -*- coding:utf-8 -*-'
# @Time    : 2020/8/8 17:03
# 公众号  : 码上开始
import os
os.rmdir("E:/study/hello")os.remove(path)
- 用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。
 
#! /usr/bin/python3
# -*- coding:utf-8 -*-'
# @Time    : 2020/8/8 17:03
# 公众号  : 码上开始
import os
os.rmdir("E:/study/hello/day6.py")os.path模块
os.path.dirname(path)
- 去掉文件名,返回目录返回文件路径
 
#! /usr/bin/python3
# -*- coding:utf-8 -*-'
# @Time    : 2020/8/8 17:03
# 公众号  : 码上开始
import os
print(os.path.dirname("E:/study/day5.py"))
#运行结果
E:/studyos.path.join(path, name)
- 连接目录与文件名和目录(只是起到连接作用,不会生成这个文件)
 
#! /usr/bin/python3
# -*- coding:utf-8 -*-'
# @Time    : 2020/8/8 17:03
# 公众号  : 码上开始
import os
print(os.path.join("E:/study/", 'day6.py'))
#运行结果
E:/study/day6.pyos.path.split(path)
- 返回目录名和文件名(返回结果为一个元组)
 
#! /usr/bin/python3
# -*- coding:utf-8 -*-'
# @Time    : 2020/8/8 17:03
# 公众号  : 码上开始
import os
print(os.path.split("E:\study\day4.py"))
# 运行结果
('E:\\study', 'day4.py')os.path.splitext(path)
- 分割路径,返回路径名和文件扩展名的元组(返回结果为一个元组)
 
#! /usr/bin/python3
# -*- coding:utf-8 -*-'
# @Time    : 2020/8/8 17:03
# 公众号  : 码上开始
import os
print(os.path.splitext("E:\study\day4.py"))
# 运行结果
('E:\\study\\day4', '.py')os.path.getmtime()
- 返回文件的最近修改时间(单位为秒)
 - 该用法用于查找最新测试报告
 
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName: day5.py
# @Time    : 2020/8/9 20:57
# @Author  : 码上开始
import os
print(os.path.getmtime("E:/study/old.html"))
print(os.path.getmtime("E:/study/new.html"))
# 运行结果
1597062314.1353853
1597062332.269248







