OS 模块

一、什么是OS模块?

OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作。

在自动化测试中,经常需要查找操作文件,比如查找配置文件(从而读取配置文件的信息),查找测试报告等等,经常会对大量文件和路径进行操作,这就需要依赖os模块。

>>> import os    #导入OS模块;
>>> help(os)    #查看os模块帮助文档,里面详细的模块相关函数和使用方法;

二、os 模块中常用的属性和函数

1、os.getcwd()

        查看当前所在目录(路径):

import os
os.getcwd()

2、os.chdir()

        切换目录(路径):

import os
os.chdir(r'/etc/sysconfig/')
print(os.getcwd())
/erc/sysconfig

3、os.curdir()   , os.pardir()

        返回当前目录的字符串名、返回当前目录的父目录字符串名 

import os
print(os.curdir)
print(os.pardir)

4、os.makedirs()

     递归创建目录,有了之后无法创建

import os
os.makedirs("a/b/c")

 5、os.removedirs()

        递归删除目录,并递归到上一级目录,如果也为空,则也删除,以此类推

import os
os.removedirs("a/b/c")

6、os.mkdir()

        创建一个目录,只能创建一个

import os
os.mkdir("a")

7、os.rmdir()

        删除一个目录,如果目录不为空,则会报错

import os
os.rmdir("a")

8、os.listdir()

        显示指定目录下,所有的文件和子目录,包括隐藏文件

import os
os.listdir("指定目录")

9、os.stat()

        获取文件/目录的信息,并可以获取到文件的大小

#获取文件/目录信息,并可以获取到文件的大小
print(os.stat("adada").st_size)
# 会打印出adada文件的大小。
# 会打印出文件的最后修改时间,但不是我们常见的格式,需要进行转换:
print(os.stat('adada').st_mtime)
from datetime import datetime
mod_time = os.stat('adada').st_mtime
print(datetime.fromtimestamp(mod_time))
10、OS.remove()

        删除文件,但是不删除文件夹

import os 
os.remove(("/adada/test.txt")

11、os.sep

        输出操作系统特定的路径分隔符,如windows为“\\”,Linux为“/”

import os
s=os.sep
print(s)
\\

12、os.pathsep

        输入用于分割文件路径的字符串

import os 
print(os.pathsep)
:

13、os.system()

        运行shell命令,直接显示(相当于启动一个全新的shell,然后去执行那条命令,命令完成过后,shell直接退出)

import os 
print(os.system('ls /test/'))

14、os.environ

        获取操作系统的环境变量

import os
print(os.environ)

15、os.path.split(path)

        将path分割成目录和文件名二元组返回

import os
print(os.path.split('/test/123/abc'))  #/test/123为目录 abc为文件
('/test/123','abc')

16、os.path.abspath(path)

        返回path规范化的绝对路径

import os
print(os.path.abspath("abc"))
/test/123/abc

17、os.path.dirname(path)

        返回path的目录

import os 
print(os.path.dirname("/test/123/abc"))  #文件为abc
/test/123

18、os.path.basename(path)

        返回path最后的文件名(一个绝对路径只返回最后的文件名)

import os 
print(os.path.basename("abc"))
abc
print(os.path.basename("/test/123/abc"))
abc

19、os.path.exists(path)

        判断路径是否存在,如果路径存在,返回True;如果不存在,返回Flase

import os
print(os.path.exists("/test/123/abc"))
True

20、os.path.isabs(path)

         判断是否是绝对路径,如果是,则返回True

import os 
print(os.path.isabs("abc"))
Flase
print(os.path.isabs("/test/123/abc"))
True

21、os.path.isfile(path)

        判断是否是一个文件,如果是则返回True,否则返回False

import os 
print(os.path.isfile("abc"))
True
print(os.path.isfile("/test/123"))
False

22、os.path.isdir(path)

        判断是否是一个存在的目录

import os
print(os.path.isdir("/test/123"))
True
print(os.path.isdir("abc"))
False

23、os.path.join(path1,path2)

        将路径和文件名分为一个列表中的两个元素,将他们拼接起来,若其中有绝对路径,则会把之前的路径删除

import os
print(os.path.join("test/","abc"))
test/abc
print(os.path.join("test/123","abc"))
test/123/abc

24、os.path.getatime(path)

        返回path所指的文件或者目录的最后存取时间

import os
print(os.path.getatime("path"))

25、os.path.getmtime(path)

        返回path所指的文件或者目录的最后修改时间

import os 
print(os.path.getmtime("path"))

26、os.popen('ls')

        相当于打开了一个临时的文件存储打开的目录(可以赋给变量,字符串的形式

import os
a = os.popen('ls').read()
>>> 'douban\nfull_stack\njf_blog\nmysql57-community-release-el7-10.noarch.rpm\nnode-v8.9.4-linux-x64\n'
 print(a)
douban
full_stack
jf_blog
mysql57-community-release-el7-10.noarch.rpm
node-v8.9.4-linux-x64
 
 
 
[root@server-7 ~]# ls -l
total 32
drwxr-xr-x 3 root root    36 Jun 23 19:51 douban
drwxr-xr-x 2 root root    22 Jul 10 14:02 full_stack
drwxr-xr-x 7 root root  4096 Jul  5 18:10 jf_blog
-rw-r--r-- 1 root root 25548 Apr  7  2017 mysql57-community-release-el7-10.noarch.rpm
drwxrwxr-x 7  500  500   111 Jun  5 15:04 node-v8.9.4-linux-x64
 
 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

·惊鸿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值