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

    小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本.由于这些书太有吸引 ...

  2. POJ 3041 Asteroids(二分图模板题)

    Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N g ...

  3. 导出excel时,跳转新空白页,不要跳转怎么改

    导出excel的时候,偶尔会出现跳转到一个新页面再导出excel js中用window.open()做跳转 不想让它跳转到新页面,需要加一个隐藏的iframe <iframe name=&quo ...

  4. 为什么要使用MQ消息中间件?这3个点让你彻底明白!

    前言 一个用消息队列的人,不知道为啥用,有点尴尬.没有复习这点,很容易被问蒙,然后就开始胡扯了. 回答:这个问题,咱只答三个最主要的应用场景,不可否认还有其他的,但是只答三个主要的,即以下六个字: 解 ...

  5. 《Java练习题》进阶练习题(二)

    编程合集: https://www.cnblogs.com/jssj/p/12002760.html 前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. [程序58 ...

  6. 《Java基础知识》流程控制

    流程控制分类: 一.顺序结构如果没有流程控制(即没有分支结构和循环结构),Java方法里面的语句是一个顺序执行流,从上到下依次执行每条语句. 二.分支结构1.if语句if语句使用布尔表达式或者布尔值作 ...

  7. 详解EMC测试国家标准GB/T 17626

    电波暗室,用于模拟开阔场,同时用于辐射无线电骚扰(EMI)和辐射敏感度(EMS)测量的密闭屏蔽室. 来源:http://gememc.com/upload/201712/201712010930227 ...

  8. Codeforces Round #608 (Div. 2) 题解

    目录 Codeforces Round #608 (Div. 2) 题解 前言 A. Suits 题意 做法 程序 B. Blocks 题意 做法 程序 C. Shawarma Tent 题意 做法 ...

  9. DUBBO: xml文件无法解析

    xml是: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:/ ...

  10. CentOS 线上搭建 jupyter_server 笔记

    一.背景 为公司负责 Data Science 的同事配置线上 jupyter_server (jupyter + jupyter_kernel_gateway)环境. 二.环境 CentOS 7.6 ...