OS模块(python自动化测试)

一、背景

在自动化测试中,需要经常查找操作文件,比如查找配置文件,从而读取配置文件信息,查找测试报告,从而发送测试报告邮件等等,这些都需要对大量测试文件和文件路径进行操作,这非常依赖OS模块。

二、OS模块常用9种方法

1、基本操作

  • 查看当前路径
import os
print(os.getcwd())#查看当前路径
C:\Users\Administrator
  • 查看当前路劲下的所有文件
import os
print(os.listdir(os.getcwd()))#查看当前路劲下的所有文件,返回一个列表
['text.txt', 'Videos', 'Yinxiang Biji', '「开始」菜单']
  • 查看绝对路径
import os
print(os.path.abspath('.'))#查看当前路劲的绝对路径
C:\Users\Administrator
  • 查看上一级目录
import os
print(os.path.abspath('..'))#查看当前路劲的上一级目录
C:\Users

2、分解路径

注意,路径分解为文件夹和文件名,返回的是一个元组。

import os
print(os.path.split(r'C:\Users\Administrator\text.txt'))#将路径分解为文件夹和文件名,返回一个元组
('C:\\Users\\Administrator', 'text.txt')

3、组合路径

文件夹和文件名进行组合

import os
print(os.path.join('C:\\Users\\Administrator', 'text.txt'))#文件夹和文件名进行组合
C:\Users\Administrator\text.txt

同一个文件下有不同的文件,path路径进行组合的时候,如果其中有绝对路径,那么前者会被删除,这需要注意。

import os
print(os.path.join('C:\\Users\\Administrator\\b', 'C:\\Users\\Administrator\\a'))#同一个文件下有不同的文件时,一个是绝对路径,那么前者会被删除
C:\Users\Administrator\a

‘C:\Users\Administrator\b’文件路径会被删除了,只会保留'C:\Users\Administrator\a'文件路径。

4、返回文件夹

默认情况下它会将最后一个分隔符后的作为文件,前面的作为文件夹

import os
print(os.path.dirname(r'C:\Users\Administrator\test.py'))#返回文件夹
C:\Users\Administrator

5、返回文件夹名

import os
print(os.path.basename(r'C:\Users\Administrator\test.py'))#返回文件名称
test.py

6、查看文件时间

查看文件最后修改时间

import os
print(os.path.getmtime(r'C:\Users\Administrator\text.txt'))#查看文件最后修改时间,并以时间戳的形式输出
1562320419.733482

查看文件最后访问时间

import os
print(os.path.getatime(r'C:\Users\Administrator\text.txt'))#查看文件最后访问时间,并以时间戳的形式输出
1562320419.733482

查看文件创建时间

import os
print(os.path.getctime(r'C:\Users\Administrator\text.txt'))#查看文件创建时间,并以时间戳的形式输出
1562310003.9537055

7、查看文件大小

import os
print(os.path.getsize(r'C:\Users\Administrator\text.txt'))#查看文件大小字节
63

8、查看文件是否存在

import os
print(os.path.exists(r'C:\Users\Administrator\text.txt'))#查看文件是否存在
True

9、更改操作系统中的路径分隔符等表现形式参数:

os.sep

import os
print(os.sep)
\

os.extsep

import os
print(os.extsep)
.

os.pathsep

import os
print(os.pathsep)
;

os.linesep:为空

import os
print(os.linesep)

你可能感兴趣的:(OS模块(python自动化测试))