python自动化测试-D5-学习笔记之二(常用模块之os,sys,random,string,time)

# 2、os 模块
import os

#在python中,字符串中如果存在 , 等,则在前面加一个r,就不会把 等当成换行符处理了。

# print(os.getcwd()) # 取当前工作目录
# os.chmod("/usr/local", 7) # 给文件/目录加权限
# print(os.chdir("../")) # 更改当前目录, 一个点是当前目录,两个点是上一层目录
# print(os.curdir) # 当前目录
# print(os.pardir) # 父目录
# print(os.makedirs("/usr/hehe/hehe1")) # 递归创建文件夹
# print(os.removedirs("/usr/hehe/hehe1")) # 递归删除空目录
# print(os.mkdir("test1")) # 创建文件夹,父目录不存在时创建父目录,不写绝对路径默认在当前目录下创建,也可以指定路径
# print(os.rmdir("test1")) # 删除指定的文件夹,只能删除空文件夹,不能删除文件
# print(os.remove('test')) #删除制定的文件,不能删除文件夹
# print(os.listdir('.')) # 列出一个目录下的所有文件
# os.rename("test", "test1") # 重命名
# print(os.stat("len_os.py")) # 获取文件信息
# print(os.sep) # 当前操作系统的路径分隔符
# print(os.linesep) # 当前操作系统的换行符
# print(os.pathsep) # 当前系统的环境变量中每个路径的分隔符,linux是:,windows是;
# print(os.environ) # 当前系统的环境变量
# print(os.name) # 当前系统名称
# print(__file__) # 获取绝对路径,与os.path.abspath里的分隔符不一样
# print(os.path.abspath(__file__)) # 获取绝对路径
# print(os.path.split("/usr/hehe/hehe.txt")) # 分割路径和文件名
# print(os.path.dirname("/usr/local")) # 获取文件的父目录
# print(os.path.basename("/usr/local")) # 获取最后一级,如果是文件显示文件名,如果是目录显示目录名
# print(os.path.exists("/usr/local")) # 目录/文件是否存在
# print(os.path.isabs(".")) # 判断是否是绝对路径
# print(os.path.isfile("/usr/local")) # 判断是否是一个文件
# print(os.path.isdir(r"E: xzday02")) # 是否是一个路径 如果不加r 会把 当成一个制表符
# print(os.path.join("root", 'hehe', 'a.sql')) # 拼接成一个路径,解决了跨系统 路径分隔符不同的问题。
# print(os.path.getatime("len_os.py")) # 输出最近访问时间
# print(os.path.getmtime("len_os.py")) # 输出最近访问时间

# 要求必须会的
# print(os.getcwd())#取当前工作目录
# print(os.mkdir("test1")) # 创建文件夹
# print(os.remove("../day4/5.png")) # 删除文件,不能删文件夹。
# print(os.listdir('c://')) # 列出一个目录下的所有文件
# os.rename("test", "test1") # 重命名
# print(os.path.abspath(__file__)) # 获取绝对路径
# print(os.path.split("c:\usr\hehe\hehe.txt")) # 分割路径和文件名
# print(os.path.dirname("c:\usr\hehe\hehe.txt")) # 获取父目录
# print(os.path.exists("c://test2")) # 目录/文件是否存在
# print(os.path.isfile(r"E: xzday2.zip"))#判断是否是一个文件
# print(os.path.isdir(r"E: xzday2"))#是否是一个文件夹
# print(os.path.join("e",name))#拼接成一个路径
# os.system('ipconfig') # 用来执行操作系统命令,只能执行,不能获取结果
# os.popen('ipconfig') # 执行操作系统命令 ,要获取结果后面得加read(),如果某些命令执行结果是动态的,用这个方法则获取不到动态的结果
# res = os.popen('ipconfig')
# print(res.read())

# 3、sys 模块
import sys
# print(sys.path) #查询环境变量
# print(sys.platform) # 查询操作系统
# print(sys.version) #当前python的的版本
# print(sys.argv) # 获取 运行python文件的时候 传入的参数
# print(sys.exit()) # 退出程序
# quit() # 退出程序 ()里可以添加字符串

# 4、random 模块 和 string模块
# import random,string
#
# print(string.digits) # 所有的数字 0-9
# print(string.ascii_lowercase) #所有的小写字母
# print(string.ascii_uppercase) #所有的大写字母
# print(string.ascii_letters) #所有的大小写字母
# print(string.punctuation) #所有的特殊字符串
#
# print(random.randint(1,199)) # 随机取值,包括1和199
# print(random.choice('abcdefghigklimn')) # 随机从可迭代的数据类型里取一个元素,
# print(random.choice(['sherry','nacy','cindy','jason']))
# print(random.sample(string.digits,3)) #随机取3个 返回的是一个list
# res = random.sample(string.digits,3)
# print(''.join(res)) #用str直接把list强制转换成字符串,转换出来的结果是 '['5', '8', '1']' 不是我们想要的 ‘581’ ,这个时候需要用join
# print(random.uniform(1,9))# 随机取小数
# print(round(random.uniform(1,9),2)) # round()保留几位小数,最后一位是 0 不显示,自动四舍五入
# print(random.random()) # 取 0 -1 之间的数,不能指定范围
#
# s = ['a','b','c','d','e']
# random.shuffle(s) # 洗牌 打乱顺序 不能传字符串进去。因为字符串的值不能改变
# print(s) # 改变list的值,没有返回值,

# s = random.choice(['ybq','mpp','zhx','df'])#随机取一个元素
# s = random.choice()#随机取一个元素
# res = random.sample(string.digits,3) #随机取N个元素
# print(''.join(res))

# res = random.uniform(1,9)#取随机小数??
# print(res)
# print(round(res,2))# 保留几位小数,如果四舍五入之后,最后一位小数是0,那么不显示
#print(random.random()) #取0-1之间随机小数
# 5、time 模块
import time
# time.sleep(5) #单位是秒,休息
# 获取当前的时间
# 1、格式化的时间 2018-1-14 16:45
# 2、时间戳:从unix元年到现在的所有的秒数
# print(time.time()) # 当前的时间戳,浮点型,强制类型转换一下
# print(time.strftime('%Y-%m-%d %H:%M:%S')) # 注意首字母重复的问题,格式化时间

# 时间戳和格式化的时间转换,需要经过时间元组
# time.sleep(2) #等待几秒
# 1、格式化好的时间 2018-1-14 16:42
# 2、时间戳 是从unix元年到现在所有的秒数
# 3、时间元组

#想时间戳和格式化好的时间互相转换的话,都要先转成时间元组,然后才能转

# print(int(time.time())) #当前时间戳
# cur_time = time.strftime('%Y-%m-%d %H:%M:%S')
# cur_time = time.strftime('%H%M%S') #取当前时间的格式化时间
# print(time.gmtime())#默认取标准时区的时间元组,如果传入了一个时间戳,那么就把这个时间戳转换成时间元组。
# print(time.timezone) #和标准时间相差了几个小时
# print(time.gmtime(1516005840)) #标准时区。

# print(time.gmtime()) # 不传参取标准时区的时间,如果传了一个时间戳,那么把时间戳转换成元组,默认打印结果是时间元组 time.struct_time(tm_year=2018, tm_mon=1, tm_mday=14, tm_hour=8, tm_min=52, tm_sec=21, tm_wday=6, tm_yday=14, tm_isdst=0)
# print(time.timezone) # 看 和 标准时区 相差多少时间,单位是秒 打印结果 -28800
# print(time.gmtime(1516005840)) #打印结果 time.struct_time(tm_year=2018, tm_mon=1, tm_mday=15, tm_hour=8, tm_min=44, tm_sec=0, tm_wday=0, tm_yday=15, tm_isdst
# print(time.localtime()) # 不传参 取当地的时间元组 time.struct_time(tm_year=2018, tm_mon=1, tm_mday=14, tm_hour=16, tm_min=58, tm_sec=48, tm_wday=6, tm_yday=14, tm_isdst=0)
# print(time.localtime(1516005840)) # 把传入的参数(单位秒)转换成时间元组
# res = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(1516005840))
# print(res)

# 把时间戳转换成格式化时间
# def timestampToformat(time_strmp,format='%Y-%m-%d %H:%M:%S'):
# cur_time = time.localtime(time_strmp)
# res = time.strftime(format,cur_time)
# return res
# t = timestampToformat(1516885840,'%Y-%m-%d')
# print(t)

# 把格式化时间转换成时间戳00
# def strToTimestamp(time_st,format='%Y-%m-%d %H:%M:%S'):
# t=time.strptime(time_st,format)# 把格式化的时间 转成 时间元组
# res=time.mktime(t)
# return res
# t=strToTimestamp('2018-01-15 08:29:45')
# print(t)