我们在做自动化测试的时候,可能会遇到一些需要处理文件一些需求,那么我们可以通过直接写文件的目录进行操作,当然作为一名自动化测试工程师,怎么可能用这种方法?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

 这里只写了一些测试常用的一些os.path的模块内容,有一些安静也没有用到过,所有就没有写,后面用到了,在给大家补充。

python之os模块(os.path)的更多相关文章

  1. os模块,os.path模块,subprocess模块,configparser模块,shutil模块

    1.os模块 os表示操作系统该模块主要用来处理与操作系统相关的操作最常用的文件操作打开 读入 写入 删除 复制 重命名 os.getcwd() 获取当前执行文件所在的文件夹路径os.chdir(&q ...

  2. 路径操作OS模块和Path类(全)一篇够用!

    路径操作 路径操作模块 os模块 os属性 os.name # windows是nt, linux是posix os.uname() # *nix支持 sys.platform #sys模块的属性, ...

  3. Python基础-常用模块OS

    模块:一个python文件就是一个模块,模块分三种: 1,标准模块,也就是python自带的模块,例如import  time,random,string等等 2,第三方模块,这种模块需要自己安装才能 ...

  4. python 自带模块 os模块

    os模块 首先可以打开cmd输入python进入交互界面  然后输入 dir(os) 就可以看到os的全部用法了  我们简单的举几个例子就行了. 写入os.getcwd()  可以查看当前所在路径 i ...

  5. os模块os.walk() 方法和os.path.join()的简单使用

    os.walk:   http://www.runoob.com/python/os-walk.html os.path.join:   https://blog.csdn.net/zmdzbzbhs ...

  6. os模块 os.stat('path/filename') os.path.dirname(path) os.path.exists(path)  os.path.join(path1[, path2[, ...]])

    提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname")  改变当前脚本工作目录:相当于 ...

  7. python os模块 os.chmod

    os.chmod() 方法用于更改文件或目录的权限. os.chmod(path, mode) 参数 path -- 文件名路径或目录路径. flags -- 可用以下选项按位或操作生成, 目录的读权 ...

  8. python模块之os和os.path模块

    1.os模块os.listdir(dirname) 列出dirname下的目录和文件os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径.os.getenv()和os.pu ...

  9. python基础之模块之os模块

    os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小…… 另 ...

随机推荐

  1. 笔记||Python3之再识函数

    变量的作用域: 全局变量   -----  可以在函数内部被引用 局部变量   -----  函数内部 -- 只能在函数里面使用,在函数外部不能使用 在函数内部修改全局变量:global   x 缺省 ...

  2. 写入Apache Hudi数据集

    这一节我们将介绍使用DeltaStreamer工具从外部源甚至其他Hudi数据集摄取新更改的方法, 以及通过使用Hudi数据源的upserts加快大型Spark作业的方法. 对于此类数据集,我们可以使 ...

  3. qrcode.js生成二维码因字符串过长而报错

    前端使用qrcode.js生成二维码的时候.有时候是会出现 qrcode length overflow (1632>1056) 目前使用的有效的解决办法是重新下载新版的qrcode.js 下载 ...

  4. vue实现双向绑定的基础方法

    Vue2的组件props通信方式 在Vue2中组件的props的数据流动改为了只能单向流动,即只能由组件外(调用组件方)通过组件的DOM属性attribute传递props给组件内,组件内只能被动接收 ...

  5. 1篇文章搞清楚8种JVM内存溢出(OOM)的原因和解决方法

    前言 撸Java的同学,多多少少会碰到内存溢出(OOM)的场景,但造成OOM的原因却是多种多样. 堆溢出 这种场景最为常见,报错信息: java.lang.OutOfMemoryError: Java ...

  6. 使用if判断字符串的长度是否等于10,根据结果进行不同的输出

    string1=' print(len(string1)) # 使用len()计算字符串长度 if not len(string1) ==10: print('字符串的长度不为10') else: p ...

  7. C语言每日一练——第2题

    一.题目要求 已知数据文件in.dat中存有300个四位数,并调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所 ...

  8. Spark Streaming vs. Structured Streaming

    简介 Spark Streaming Spark Streaming是spark最初的流处理框架,使用了微批的形式来进行流处理. 提供了基于RDDs的Dstream API,每个时间间隔内的数据为一个 ...

  9. 函数式响应式编程 - Functional Reactive Programming

    我们略过概念,直接看函数式响应式编程解决了什么问题. 从下面这个例子展开: 两个密码输入框,一个提交按钮. 密码.确认密码都填写并一致,允许提交:不一致提示错误. HTML 如下: <input ...

  10. 1、手写Unity容器--极致简陋版Unity容器

    模拟Unity容器实例化AndroidPhone 思路: 1.注册类型:把类型完整名称作为key添加到数据字典中,类型添加到数据字典的value中 2.获取实例:根据完整类型名称也就是key取出val ...