一,time模块

和时间有关系的我们就要用到时间模块。在使用模块之前,应该首先导入这个模块

常用方法
1.(线程)推迟指定的时间运行。单位为秒。

 time.sleep(1)  #括号内为整数

2.获取当前时间戳 缺点,看不懂

print(time.time())

3.表示时间的三种方式
   在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:

(1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。

(2)格式化的时间字符串(Format String): ‘1999-12-06’

 %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 当前时区的名称
%% %号本身

(3).元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

 # 索引(Index)    属性(Attribute)            值(Values)
# 0 tm_year(年) 比如2011
# 1 tm_mon(月) 1 - 12
# 2 tm_mday(日) 1 - 31
# 3 tm_hour(时) 0 - 23
# 4 tm_min(分) 0 - 59
# 5 tm_sec(秒) 0 - 61
# 6 tm_wday(weekday) 0 - 6(0表示周日)
# 7 tm_yday(一年中的第几天) 1 - 366
# 8 tm_isdst(是否是夏令时) 默认为-1

时间模块用法

首先,我们先导入time模块,来认识一下python中表示时间的几种格式:

# !/usr/bin/env python
# _*_coding:utf-8_*_
# Author:Joker import time # print(time.time()) # 1531982635.617672 时间戳 1970年开始计数的 # print(time.ctime()) # Thu Jul 19 14:45:44 2018,当前时间 # print(time.ctime(time.time()-86400)) # Wed Jul 18 14:49:26 2018 时间戳转化为字符串时间 # print(time.gmtime())
# time.struct_time(tm_year=2018, tm_mon=7, tm_mday=19, tm_hour=6, tm_min=50, tm_sec=15, tm_wday=3, tm_yday=200, tm_isdst=0)
# time_obj = time.gmtime()
# print(time_obj.tm_year,time_obj.tm_mon) # 2018 7 注意下day的值,周一是0,而且是utc时间 # print(time.gmtime(time.time()-86400)) # 将时间戳转换成struct_time格式
# time.struct_time(tm_year=2018, tm_mon=7, tm_mday=18, tm_hour=6, tm_min=53, tm_sec=37, tm_wday=2, tm_yday=199, tm_isdst=0) # print(time.localtime()) # 本地时间,按照服务器的时区
# time.struct_time(tm_year=2018, tm_mon=7, tm_mday=19, tm_hour=14, tm_min=56, tm_sec=14, tm_wday=3, tm_yday=200, tm_isdst=0) # time_obj = time.gmtime()
# print(time.mktime(time_obj)) # 时间对象转成时间戳 # 1531954699.0 # tm = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) # 将struct_time格式转化成指定的字符串格式
# print(tm) # 2018-07-19 15:02:11 # tm = time.strptime('2018-07-19','%Y-%m-%d') # 将字符串格式转化成struct_time格式
# print(tm)
# time.struct_time(tm_year=2018, tm_mon=7, tm_mday=19, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=200, tm_isdst=-1) import datetime
# print(datetime.date.today()) # 2018-07-19,当前年月日 # print(datetime.date.fromtimestamp(time.time())) # 2018-07-19 将时间戳转换成日期格式 # print(datetime.datetime.now()) # 2018-07-19 15:10:00.874436 当前时间 # current_time = datetime.datetime.now()
# print(current_time.timetuple()) # 将字符串转换为struct_time格式
# time.struct_time(tm_year=2018, tm_mon=7, tm_mday=19, tm_hour=15, tm_min=11, tm_sec=30, tm_wday=3, tm_yday=200, tm_isdst=-1) # str_to_date = datetime.datetime.strptime('09/10/12','%d/%m/%y')
# print(str_to_date) # 2012-10-09 00:00:00 将字符串转换成日期格式 # 时间加减
# current_time = datetime.datetime.now() # 当前时间
# print(datetime.datetime.now() + datetime.timedelta(days=10))
# 2018-07-29 15:15:42.874593 比现在+10天 # print(datetime.datetime.now() - datetime.timedelta(days=10))
# 2018-07-09 15:16:55.388891 比现在-10天 # print(datetime.datetime.now() - datetime.timedelta(hours=10))
# 2018-07-19 05:18:23.341908 比现在-10小时 # 时间替换
# current_time = datetime.datetime.now() # 当前时间
# print(current_time.replace(2200,2,2))
# 2200-02-02 15:20:34.209528 # 时间比较
# current_time = datetime.datetime.now() # 当前时间
# old_time = current_time.replace(2017,5)
# print(current_time > old_time) # True

二,random模块

随机数模块的用法

 #!/usr/bin/env python
#_*_coding:utf-8_*_ import random
#1.随机小数
print(random.random()) #从0-1之间的小数
print(random.uniform(1,3)) #1-3之间的小数 #2.随机整数
l = []
l.append(str(random.randint(0,9))) #0-9之间的随机数
l.append(str(random.randint(0,9)))
print(''.join(l)) #显示97
print(l) #['9', '7']
print(random.randrange(1,4,2)) #也可以用布长来做,这是打印1-4之间的奇数1 3 #3.随机一个返回
print(random.choice([1,2,'b',4,'a',6])) #随机选择一个返回,[]()都可以 #4.随机多个返回,返回的个数为函数的第二个参数,本例中是返回3个
print(random.sample([1,2,'b',4,'a',6],3)) #返回3个,和之前的 返回的是列表 #5.打乱顺序
l = list(range(100))
print(l) #正常顺序
random.shuffle(l)
print(l) #顺序打乱

随机密码

#!/usr/bin/env python
#_*_coding:utf-8_*_ #写一个验证码
#首先要有数字,其次要有字母,一共4位,可以重复
#65-91是a-z,用chr()可以转成字母
#print(chr(90))
#普通版本
new_num_l = list(map(str,range(10))) #['0','1'...'9'] #用来存数字
alph_l = [chr(i) for i in range(65,91)] #列表推导式 用来存字母
new_num_l.extend(alph_l) #包含字母和数字
ret_l = [random.choice(new_num_l) for i in range(4)] #取得重复随机 列表推导式
print(''.join(ret_l)) #因为是列表,所以join一下
ret = random.sample(new_num_l,4) #取得不重复随机
print(''.join(ret)) # 写成函数
def myrandom():
new_num_l = list(map(str,range(10)))
alph_l = [chr(i) for i in range(97,123)] #列表推导式
new_num_l.extend(alph_l)
ret_l = [random.choice(new_num_l) for i in range(4)] #列表推导式
return ''.join(ret_l)
print(myrandom())

python开发模块基础:time&random的更多相关文章

  1. python开发模块基础:collections模块&paramiko模块

    一,collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdic ...

  2. python开发模块基础:re正则

    一,re模块的用法 #findall #直接返回一个列表 #正常的正则表达式 #但是只会把分组里的显示出来#search #返回一个对象 .group()#match #返回一个对象 .group() ...

  3. python开发模块基础:异常处理&hashlib&logging&configparser

    一,异常处理 # 异常处理代码 try: f = open('file', 'w') except ValueError: print('请输入一个数字') except Exception as e ...

  4. python开发模块基础:os&sys

    一,os模块 os模块是与操作系统交互的一个接口 #!/usr/bin/env python #_*_coding:utf-8_*_ ''' os.walk() 显示目录下所有文件和子目录以元祖的形式 ...

  5. python开发模块基础:序列化模块json,pickle,shelve

    一,为什么要序列化 # 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化'''比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在我们能想到的方法就是存在文 ...

  6. python开发模块基础:正则表达式

    一,正则表达式 1.字符组:[0-9][a-z][A-Z] 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示字符分为很多类,比如数字.字母.标点等等.假如你现在要求一个位置&q ...

  7. Python开发——1.基础知识

    一.开发 开发语言分为高级语言和低级语言 高级语言:Python.Java.PHP.C++.C#.GO.Ruby等:低级语言:C.汇编语言. 高级语言对应的是字节码,是将代码编译成字节码,然后交给机器 ...

  8. python常用模块collections os random sys

    Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码 ...

  9. python开发调用基础:模块的调用&制作包&软件开发规范

    一,包的调用 #!/usr/bin/env python #_*_coding:utf-8_*_ #调用 glance[1..4]\api\policy.py 路径 # policy.py 内容 # ...

随机推荐

  1. phalcon: 独立的映射,字段名名别名

    class ProductsController extends \Phalcon\Mvc\Controller { public function saveAction() { //Obtain t ...

  2. 有云Ceph课堂:使用CivetWeb快速搭建RGW

    转自:https://www.ustack.com/blog/civetweb/ 优秀的开源项目正在改变传统IT,OpenStack名头最响,已经成为了IaaS的事实标准.Ceph同样颇有建树,通过其 ...

  3. 点击bindingNavigatorAddNewItem 关联的dataGridView不会新增一行

    方法一. 在设计界面,修改bindingNavigator1的属性AddNewItem 为“(无)”: 方法二. 在设计器自动生成的代码中找到这一行:             // bindingNa ...

  4. 【git】git知识梳理(一):基本操作&远程控制&分支管理

    (一)基本操作:  git中所有文件一共有三个状态:已提交,已暂存,已修改. 三个工作区域: git目录:.git文件夹,每次拷贝其实只拷贝git目录 工作目录:文件和目录都是从git目录中压缩对象数 ...

  5. Django 常见的异常

    Django 常见的异常 1 'WSGIRequest' object has no attribute 'user' Django版本的问题,1.10之前,中间件的key为MIDDLEWARE_CL ...

  6. ROS中使用ABB Yumi IRB14000的一些资料汇总

    目前,ABB RobotStudio 已经更新到6.05.01了,可至官网下载. 使用ABB RobotStudio和ROS进行联合调试,请参考下文: http://blog.csdn.net/Zha ...

  7. Andriod部分手机频繁闪退,vivo y55a等,Skipped 62 frames! The application may be doing too much work on its main thread

    问题描述: 部分手机频繁闪退的问题.比如:vivo y55a,在升级.交任务.穿戴装备等都有概率闪退... 表现: 卡几帧就马上闪退. 在学习技能.穿戴装备.升级等概率出现,新角色第3个任务“拦截少年 ...

  8. 典型的一次jQuery.validate.js 表单中的验证应用

    var validateOption = { onkeyup:false, rules:{ password:{ required:true, remote:{ url:'index.php?app= ...

  9. 【个人吐槽】C、Delphi、C#、java 摘抄

    作为个人的一个感受就是,在win平台上开发软件,别再他妈的用MFC了,不适合新手,上手太难.你妹,实现一个半透明的功能,一堆代码,而C#就他妈的几行话.靠. 似乎很多人都觉得Delphi已经没落了.过 ...

  10. 关于python模拟登录的一点实践

    不久前,通过网上查阅各种资料,一直想利用python来实现模拟登录的功能,通过csdn汪海的博客学会了一点,但也只能算个皮毛,亦或皮毛都算不上. 边查阅资料边写一个小东西,起初想写一个程序,通过暴力破 ...