博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
time random sys os模块
阅读量:6581 次
发布时间:2019-06-24

本文共 4855 字,大约阅读时间需要 16 分钟。

一:time模块

1,记录时间有三种格式

import time# 时间戳时间print(time.time())   # 时间戳时间   # 计算时间差  精准的运算#格式化时间print(time.strftime('%Y-%m-%d %H:%M:%S'))# 字符串格式化时间   # 记录下来给人看print(time.strftime('%y-%m-%d'))# 字符串格式化时间print(time.strftime('%x %X'))# 字符串格式化时间print(time.strftime('%c'))# 字符串格式化时间#结构化时间print(time.localtime())# 本地结构化时间                                                                                           #  对应项的简单计算print(time.gmtime())   # 英国的结构化时间
三种时间显示
%y 两位数的年份表示(00-99)%Y 四位数的年份表示(000-9999)%m 月份(01-12)%d 月内中的一天(0-31)%H 24小时制小时数(0-23)%I 12小时制小时数(01-12)%M 分钟数(00=59)%S 秒(00-59)%a 本地简化星期名称%A 本地完整星期名称%b 本地简化的月份名称%B 本地完整的月份名称%c 本地相应的日期表示和时间表示%j 年内的一天(001-366)%p 本地A.M.或P.M.的等价符%U 一年中的星期数(00-53)星期天为星期的开始%w 星期(0-6),星期天为星期的开始%W 一年中的星期数(00-53)星期一为星期的开始%x 本地相应的日期表示%X 本地相应的时间表示%Z 当前时区的名称%% %号本身
python中时间日期格式化符号
import timedef cal_time(fmt_time,fmt):    now = time.time()    time_before = time.mktime(time.strptime(fmt_time,fmt))    sub_time = now - time_before    struct_time = time.gmtime(sub_time)    return '过去了%d年%d月%d天%d小时%d分钟%d秒' % \    (struct_time.tm_year - 1970, struct_time.tm_mon - 1,                                       struct_time.tm_mday - 1, struct_time.tm_hour,                                       struct_time.tm_min, struct_time.tm_sec)ret = cal_time('2018-4-23 10:30:20','%Y-%m-%d %H:%M:%S')  #过去了0年0月2天0小时38分钟35秒print(ret)
计算时间相差

2,几种时间格式的相互转换

p = time.strptime('2015-8-8','%Y-%m-%d') #格式化时间---->结构化时间print(p)print(time.mktime(p))  #结构化时间----->时间戳时间print(time.time()-time.mktime(p))
时间格式的转换

二:random模块

>>> import random#随机小数>>> random.random()      # 大于0且小于1之间的小数0.7664338663654585>>> random.uniform(1,3) #大于1小于3的小数1.6270147180533838#恒富:发红包#随机整数>>> random.randint(1,5)  # 大于等于1且小于等于5之间的整数>>> random.randrange(1,10,2) # 大于等于1且小于10之间的奇数#随机选择一个返回>>> random.choice([1,'23',[4,5]])  # #1或者23或者[4,5]#随机选择多个返回,返回的个数为函数的第二个参数>>> random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合[[4, 5], '23']#打乱列表顺序>>> item=[1,3,5,7,9]>>> random.shuffle(item) # 打乱次序>>> item[5, 1, 3, 7, 9]>>> random.shuffle(item)>>> item[5, 9, 7, 1, 3]
View Code
#生成6位数字验证码 数字可以重复import randomdef id_code(num):    ret = ''    for i in range(num):        n = random.randint(0,9)        ret += str(n)    return retprint(id_code(6))# num 大写字母 小写字母在每一位被取到的概率相同def id_code(num):    ret = ''    for i in range(num):        number = str(random.randint(0,9))        alph_num = random.randint(97,122)   # A65 a97 +25        alph_num2 = random.randint(65,90)   # A65 a97 +25        alph = chr(alph_num)        alph2 = chr(alph_num2)        choice = random.choice([number,alph,alph2])        ret += choice    return retprint(id_code(6))# num,字母在每一位被取到的概率相同def id_code(num):      ret = ''    for i in range(num):        number = str(random.randint(0,9))        alph_num = random.randint(97,122)   # A65 a97 +25        alph_num2 = random.randint(65,90)   # A65 a97 +25        alph = chr(alph_num)        alph2 = chr(alph_num2)        choice = random.choice([alph,alph2])        choice = random.choice([number,choice])        ret += choice    return retprint(id_code(6))
生成随机验证码

三:sys模块

 sys模块是与python解释器交互的一个接口

sys.argv           命令行参数List,第一个元素是程序本身路径,以脚本的形式执行一个文件的时候,可以加一些参数sys.exit(n)        退出程序,正常退出时exit(0),错误退出sys.exit(1)sys.version        获取Python解释程序的版本信息sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值sys.platform       返回操作系统平台名称
import sysprint(sys.argv)   # 列表 列表的第一项是当前文件所在的路径if sys.argv[1] == 'alex' and sys.argv[2] == '3714':    print('登陆成功')else:    sys.exit()
View Code
import sysimport logginginp = sys.argv[1] if len(sys.argv)>1 else 'WARNING'logging.basicConfig(level=getattr(logging,inp))  # DEBUGnum = int(input('>>>'))logging.debug(num)a = num * 100logging.debug(a)b = a - 10logging.debug(b)c = b + 5print(c)
在cmd窗口查看debug信息

四:os 模块

 os模块是与操作系统交互的一个接口

import os# print(os.getcwd())   # 获取当前文件所在的路径#os.makedirs('name1/name2')  # 一次创建多级目录文件夹#os.mkdir('name/11')      # 一次创建单级目录文件夹#os.rmdir('name1/name2') #删除name1中的name2文件夹,前提是name2文件夹为空才能删除#os.removedirs('name1/name2') #删除name1和name2文件夹,但必须当name2文件夹为空时才能删除#print(os.listdir('G:\python')) #以一个列表的形式打印该目录下的所有文件夹#print(os.stat(r'G:\python\new2.py'))  #获取当前目录下的文件信息(访问时间,修改时间等)# path = 'python%s2.mok.py'%os.sep  # 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"# print(path)#print(os.environ)  #获取当前系统的所有环境变量# path系列print(os.path.abspath('userinfo'))# 获取文件的绝对路径 G:\python\userinfoprint(os.path.dirname(os.path.abspath('userinfo')))#获取该文件的上一级目录  G:\pythonprint(os.path.split(os.path.abspath('userinfo')))#将path分割成目录和文件名,以元组形式返回print(os.path.exists(r'D:\python11\day28\userinfo'))#查看某个path是否存在(r表示取消path里所有\的转译)print(os.path.isabs(r'userinfo2'))#判断某个路径是否是绝对路径print(os.path.isfile(r'userinfo'))#判断是否是文件print(os.path.isdir(r'name1'))#判断是否是文件夹print(os.path.join('D:\\python11\\day28','userinfo'))#将多个路径拼接后返回print(os.path.getsize(r'D:\python11'))#返回某一个文件的大小(对于文件夹只返回4096)
View Code

 

 

  

  

 

转载于:https://www.cnblogs.com/leiwei123/p/8934844.html

你可能感兴趣的文章
HBase-java api 基本操作
查看>>
23种设计模式之建造者模式
查看>>
计算机网络笔记2:物理层
查看>>
POJ3080-Blue Jeans
查看>>
POJ2229 Sumsets
查看>>
在LINQ-TO-SQL中实现“级联删除”的方法
查看>>
在Oracle Form中,如何实现自动编号(行号)的功能
查看>>
xcode7中搭建python开发环境
查看>>
java设计模式-建造者模式
查看>>
hdu-2604 Queuing---递推+矩阵快速幂
查看>>
OC基础第一讲
查看>>
超越MySQL:三个流行MySQL分支的对比(转)
查看>>
yii2权限控制rbac之rule详细讲解(转)
查看>>
lemur run PLSA
查看>>
Python中什么是变量Python中定义字符串
查看>>
资源文件
查看>>
yii2设置默认控制器
查看>>
Hibernate的大对象映射
查看>>
mongodb 的基本操作
查看>>
Django文档阅读之查询
查看>>