我们在做自动化测试的时候,可能会遇到一些需要处理文件一些需求,那么我们可以通过直接写文件的目录进行操作,当然作为一名自动化测试工程师,怎么可能用这种方法?python中自带的有OS,我们可以通过os模块进行帮助我们解决这些问题
OS模块
os库是Python标准库,包含几百个函数,常用的有路径操作、进程管理、环境参数等
os.path
os.path主要对文件路径进行操作,具体有哪些操作?我们可以继续往下看
这里我们需要先了解一个pycharm的小知识,在pycharm中的__file__表示文件本身,输出的是一个绝对路径。
1、当前文件名称
# 返回当前文件名称
a = os.path.basename(__file__)
print('当前文件名:%s'%a)
输出结果:
当前文件名:a1.py
2、当前文件绝对路径
# 当前文件绝对路径
b = os.path.abspath(__file__)
print('当前文件绝对路径:%s'%b)
输出结果:
当前文件绝对路径:E:\python1\app\a1.py
3、当前文件路径
# 当前文件路径
c = os.path.dirname(__file__)
print('当前文件路径:%s'%c)
输出结果:
当前文件路径:E:/python1/app
4、判断文件是否存在
# 判断路径是否存在
d = os.path.exists(__file__)
print('文件存在:%s'%d)
e = os.path.exists('E:\\python2')
print('文件存在:%s'%e)
输出结果:
文件存在:True
文件存在:False
5、判断路径是否存在
# 路径是否存在
a = os.path.lexists('E:\\python1')
print('路径是否存在:%s'%a)
b = os.path.lexists('E:\\python2')
print('路径是否存在:%s'%b)
输出结果:
路径是否存在:True
路径是否存在:False
6、返回文件修改时间
# 返回文件修改时间
a = os.path.getatime('E:\\python1')
print('文件修改时间:%s'%(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(a))))
输出结果:
文件修改时间:2019-11-26 15:24:59
7、判断文件是否存在
# 判断文件是否存在
a = os.path.getsize(__file__)
print('文件存在,文件大小为:%s'%a)
try:
b = os.path.getsize('E:\\python1\a2.py')
except Exception as msg:
print('错误为:%s'%msg)
输出结果:
文件存在,文件大小为:1217
错误为:[WinError 123] 文件名、目录名或卷标语法不正确。: 'E:\\python1\x072.py'
8、文件的真实路径
# 文件的真实路径
a = os.path.realpath(__file__)
print('文件的真实路径:%s'%a)
输出结果:
文件的真实路径:E:\python1\app\a1.py
9、分割文件目录和文件名称已元组返回
# 分割路径和文件名
a = os.path.split(__file__)
print('文件目录:%s,文件名称:%s'%(a[0],a[1]))
输出结果:
文件目录:E:/python1/app,文件名称:a1.py
10、目录和文件合成一个路径
# 目录和文件进行合并成路径
a = os.path.join('E:\\python1\\app','123.jpg')
print('合并成的路径为:%s'%a)
输出结果:
合并成的路径为:E:\python1\app\123.jpg