前言
- 为什么要学习os模块?
做为一名优秀的软件测试工程师,我们是要编写大量的python自动化代码和生成测试报告,我们需要访问和处理文件。如何能方便快捷的处理这些文件呢? - 能处理工作中什么样的问题?
在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖于os模块,所以今天整理下比较常用的几个方法。
os.getcwd()
- 得到当前工作目录,即当前python脚本目录路径
#! /usr/bin/python3
# -*- coding:utf-8 -*-'
# @Time : 2020/8/8 17:03
# 公众号 : 码上开始
import os
# 查看当前路径文件路径
print(os.getcwd())
# 运行结果
E:\study
os.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")
如果对软件测试、接口测试、自动化测试、持续集成、面试经验。感兴趣可以进到902061117,群内会有不定期的分享测试资料。还会有技术大牛,业内同行一起交流技术
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:/study
os.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.py
os.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')