目录
❤ OS模块和path模块(函数)
❤ 当前路径及路径下的文件
❤ 绝对路径
❤ 查看指定文件路径的文件夹路径部分和文件名部分
❤ 路径拼接
❤ 获取路径的文件夹路径部分
❤ 获取路径的文件名
❤ 查看文件时间
❤ 查看文件大小
❤ 查看文件是否存在
❤ OS模块和path模块(函数)
os是operation system(操作系统)的缩写,os模块就是python对操作系统操作接口的封装。os模块提供了多数操作系统的功能接口函数。(OS模块提供了与操作系统进行交互的函数)
操作系统属于Python的标准实用程序模块。该模块提供了使用依赖于操作系统的函数的便携式方法
在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),查找测试用例的Excel文件或者Yaml文件等
❤ 当前路径及路径下的文件
os.getcwd() :查看当前所在路径(具体到当前脚本的上一级)
os.listdir(path) :列举path目录下的所有文件。返回的是列表类型
输出:
E:\资源\Python\基础
['.pytest_cache','案例03.py']
❤ 绝对路径
os.path.abspath(path) :返回当前文件位置的绝对路径。
os.path.realpath(path) :返回当前文件位置的绝对路径。
注意:如果 os.path.abspath(.) 存在与已被定义的方法中,则返回的绝对路径是调用该方法的模块的绝对路径,而不是方法的绝对路径
例子1:
import os
print(os.getcwd())
print(os.path.abspath('.'))
print(os.path.abspath('..'))
print(os.path.abspath('../..'))
输出:
例子2:
import os
print(os.getcwd())
print(os.path.realpath(__file__))
print(os.path.abspath(__file__))
输出:
E:\资源\day01-基础
E:\资源\day01-基础\people.py
E:\资源\day01-基础\people.py
❤ 查看指定文件路径的文件夹路径部分和文件名部分
os.path.split(path) :将指定文件的路径分解为(文件夹路径, 文件名),返回的数据类型是元组类型。
- 若文件夹路径字符串最后一个字符是\,则只有文件夹路径部分有值
- 若路径字符串中均无\,则只有文件名部分有值
- 若路径字符串有\,且不在最后,则文件夹和文件名均有值。且返回的文件名的结果不包含\
❤ 路径拼接
os.path.join(path1, path2, ...) :将入参的path进行组合,若其中有绝对路径,则之前的path将被删除。
import os
os1 = os.path.split('D:\\pythontest\\ostest\\Hello.py')
print(os1)
os2 = os.path.split('.')
print(os2)
os3 = os.path.split('D:\\pythontest\\ostest\\')
print(os3)
os4 = os.path.split('D:\\pythontest\\ostest')
print(os4)
os5 = os.path.join('D:\\pythontest', 'ostest')
print(os5)
os6 = os.path.join('D:\\pythontest\\ostest', 'hello.py')
print(os6)
os7 = os.path.join('D:\\pythontest\\b', 'D:\\pythontest\\a')
print(os7)
输出:
('D:\\pythontest\\ostest', 'Hello.py')
('', '.')
('D:\\pythontest\\ostest', '')
('D:\\pythontest', 'ostest')
D:\pythontest\ostest
D:\pythontest\ostest\hello.py
D:\pythontest\a
❤ 获取路径的文件夹路径部分
os.path.dirname(path) :返回path中的文件夹路径部分,且路径结尾不包含'\'。【即返回文件的路径(此路径不包含文件名)】
import os
os1 = os.path.dirname('D:\\pythontest\\ostest\\hello.py')
print(os1)
os2 = os.path.dirname('.')
print(os2)
os3 = os.path.dirname('D:\\pythontest\\ostest\\')
print(os3)
os4 = os.path.dirname('D:\\pythontest\\ostest')
print(os4)
输出:
D:\pythontest\ostest
D:\pythontest\ostest
D:\pythontest
❤ 获取路径的文件名
os.path.basename(path) :返回path中的文件名。
import os
os1 = os.path.basename('D:\\pythontest\\ostest\\hello.py')
print(os1)
os2 = os.path.basename('.')
print(os2)
os3 = os.path.basename('D:\\pythontest\\ostest\\')
print(os3)
os4 = os.path.basename('D:\\pythontest\\ostest')
print(os4)
输出:
hello.py
.ostest
❤ 查看文件时间
os.path.getmtime(path) :返回文件或文件夹的最后修改时间,从新纪元到访问时的秒数
os.path.getatime(path) :返回文件或文件夹的最后访问时间,从新纪元到访问时的秒数
os.path.getctime(path) :返回文件或文件夹的创建时间,从新纪元到访问时的秒数
import os
os1 = os.path.getmtime('E:/day01-基础/people.py')
print(os1)
os2 = os.path.getatime('E:/day01-基础/people.py')
print(os2)
os3 = os.path.getctime('E:/day01-基础/people.py')
print(os3)
输出:
1677420871.014602
1677420871.1175199
1675431050.0688083
❤ 查看文件大小
os.path.getsize(path) :返回文件的大小;若path入参值是一个文件夹路径则返回0
import os
os1 = os.path.getsize('E:/day01-基础/people.py')
print(os1)
os2 = os.path.getsize('E:/day01-基础/')
print(os2)
输出:
281
0
❤ 查看文件是否存在
os.path.exists(path) :判断文件或者文件夹是否存在,返回True 或 False。【文件或文件夹的名字不区分大小写】
import os
os1 = os.listdir(os.getcwd())
print(os1) # ['hello.py', 'test.txt']
os2 = os.path.exists('D:\\pythontest\\ostest\\hello.py')
print(os2) # True
os3 = os.path.exists('D:\\pythontest\\ostest\\Hello.py')
print(os3) # True
os4 = os.path.exists('D:\\pythontest\\ostest\\Hello1.py')
print(os4) # False
❤ os模块中操作目录以及文件的函数
os.mkdir('文件夹名') :新建文件夹;入参为目录路径,不可为文件路径;(父目录必须存在的情况下创建下一级文件夹)
os.rmdir('文件夹名') :删除文件夹;入参为目录路径,不可为文件路径
os.remove('文件路径') :删除文件;入参为文件路径,不可为目录路径
os.makedirs('路径及文件') :递归新建文件夹;可以连续创建该文件夹的多级目录
os.path.isdir('路径') :判断入参路径是否为文件夹,返回值为布尔值;是文件夹返回True,不是文件夹返回False
os.path.isfile('路径') :判断入参路径是否为文件,返回值为布尔值;是文件返回True,不是文件返回False