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

    更多大数据分析.建模等内容请关注公众号<bigdatamodeling> ################################### 排序 ################## ...

  2. ARTS-S idea常用快捷键

    1.生成main方法 先输入p,再输入Ctrl+j,选psvm,回车. 2.生成System.out.println() 先输入s,再输入Ctrl+j,选sout,回车. 输入A.B.C.D形式的快捷 ...

  3. python 2.7编码问题

    问题引入 先看下面的代码,代码用utf8编码格式保存. print("中") 仅有一行代码,但是这个代码无论在ubuntu下还是win7下都会报错,错误信息类似是下面的内容: Sy ...

  4. 【Vuejs】350- 学习 Vue 源码的必要知识储备

    前言 我最近在写 Vue 进阶的内容.在这个过程中,有些人问我看 Vue 源码需要有哪些准备吗?所以也就有了这篇计划之外的文章. 当你想学习 Vue 源码的时候,需要有扎实的 JavaScript 基 ...

  5. 不启动AndroidStudio直接启动其模拟器

    1.找到自己电脑Android sdk的安装路径下的tools\emulator.exe 2.获取你要启动的模拟器的名称 我这里是Nexus 5X API 27,把名字中间的空格改为_,我这里就应该改 ...

  6. Provider模式应用demo

    参考ObjectPool对象池设计原理还原一个简易的Provider模式. using System; using System.Dynamic; using System.Reflection.Me ...

  7. C++生成完全二叉树

    C++生成完全二叉树 2019-12-20 By Gauss 1.背景介绍 完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的.对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都 ...

  8. 北京国际机场T3行李运维平台开发记录

    说明 该项目是一个后台管理型网站项目,供北京国际机场T3航站楼行李调度运维部门使用,开发时间一个半月,我负责所有的前端开发.后端开发.API接口文档设计与编写.服务部署和交付. 整个网站具备的功能有: ...

  9. 添加junit和spring-test还是用不了@Test和@RunWith(SpringJUnit4ClassRunner.class)注解

    pom.xml依赖如下 <!-- spring 单元测试组件包 --> <dependency> <groupId>org.springframework</ ...

  10. Linux 使用grep过滤多个条件及grep常用过滤命令

    这篇文章主要介绍了Linux 使用grep筛选多个条件及grep常用过滤命令,需要的朋友可以参考下 cat log.txt | grep 条件: cat log.txt | grep 条件一 | gr ...