码迷,mamicode.com
首页 > 其他好文 > 详细

常用模块一

时间:2018-08-20 19:08:22      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:多层   bsp   random模块   info   inf   time模块   获取   命令行   随机   

random模块

random():随机0~1间的小数,随机选一个返回
技术分享图片
import random
#随机小数
print(random.random()) >>> 0.6314339456787584      # 大于0且小于1之间的小数,
View Code
uniform(n,m):n~m之间随机的小数,随机选一个返回
技术分享图片
import random
print(random.uniform(2,8)) >>> 5.872738210315412  # 大于2且小于8之间的小数
View Code
randint(n,m):n~m之间随机的整数,随机选一个返回
技术分享图片
import random
print(random.randint(3,6)) >>> 6    #大于等于3且小于等于6之间的整数
View Code
randrange(n,m,c):n~m之间隔c个数的随机整数,随机选一个返回
技术分享图片
import random
print(random.randrange(1,10,2)) >>> 5 #大于等于1且小于10之间的奇数
View Code
choice(参数):随机选择参数中一个返回
技术分享图片
print(random.choice([1,23,[89,56]])) >>> 23
View Code
sample(组合):随机选择多个返回,返回的个数为函数的第二个参数
技术分享图片
print(random.sample([1,23,[4,5]],3)) >>>[23, [4, 5], 1]# 列表元素任意3个组合
View Code
shushuffle(参数):打乱参数中的次数
技术分享图片
lst = [23,56,89,2,36,8]
random.shuffle(lst)   # 随机打乱列表的顺序,在原来的列表打乱,不会生成新列表,
print(lst)    >>>[8, 36, 2, 89, 23, 56]
View Code
技术分享图片
import random

def v_code():

    code = ‘‘
    for i in range(5):

        num=random.randint(0,9)
        alf=chr(random.randint(65,90))
        add=random.choice([num,alf])
        code="".join([code,str(add)])

    return code

print(v_code())

生成验证码
练习,生成随机验证码

time模块

1.1 时间戳

时间戳表示是从伦敦的1970年1月1日00:00:00开始按秒计算的偏移量,是一个float类型的数据

技术分享图片
import time
print(time.time()) >>> 1534752837.5641727 #此刻我运行的时候的偏移量
print(type(time.time())) >>> <class float>
View Code

1.2 格式化的时间字符串

类似于"1992-12-06"或"1992\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 当前时区的名称
%% %号本身

python中时间日期格式化符号:
View Code

1.3 元组(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 - 60
6 tm_wday(weekday) 0 - 6(0表示周一)
7 tm_yday(一年中的第几天) 1 - 366
8 tm_isdst(是否是夏令时) 默认为0
技术分享图片
#时间元组:localtime将一个时间戳转换为当前时区的struct_time
print(time.localtime())
>>>
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=16, tm_min=49, tm_sec=30, tm_wday=0, tm_yday=232, tm_isdst=0)
View Code

总结:时间戳是计算机能够识别的时间,给机器看的;时间字符串是给人看的;元组则是用来操作时间的

格式之间的转换技术分享图片

import time
#time.gmtime(时间戳)
print(time.gmtime())  #UTC时间,与英国伦敦当地时间一致
>>>
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=9, tm_min=13, tm_sec=29, tm_wday=0, tm_yday=232, tm_isdst=0)

print(time.localtime()) #当地时间,北京时间与UTC时间相差8(按当地所在的时区比较)小时
>>>
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=17, tm_min=13, tm_sec=29, tm_wday=0, tm_yday=232, tm_isdst=0


#结构化时间 ==>时间戳
#time.mktime(结构化时间)
time_tuple = time.localtime()
print(time.mktime(time_tuple))
 >>> 1534756657.0
#结构化时间 ==> 字符串时间
print(time.strftime(%Y-%m-%d %X)) #当前格式化时间字符串
#time.strftime(‘%Y-%m-%d‘,time.localtime(具体时间戳))
print(time.strftime(%Y-%m-%d,time.localtime(1600000000)))
# 将时间戳转换成格式化时间字符串
>>>2020-09-13


#字符串时间 ==> 结构化时间
#time.strptime(时间字符串,字符串对应格式)
>>>time.strptime("2017-03-16","%Y-%m-%d")
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1)
>>>time.strptime("07/24/2017","%m/%d/%Y")
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=205, tm_isdst=-1)

技术分享图片

 

#结构化时间 --> %a %b %d %H:%M:%S %Y串
#time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串
>>>time.asctime(time.localtime(1500000000))
Fri Jul 14 10:40:00 2017
>>>time.asctime()
Mon Jul 24 15:18:33 2017

#时间戳 --> %a %b %d %H:%M:%S %Y串
#time.ctime(时间戳)  如果不传参数,直接返回当前时间的格式化串
>>>time.ctime()
Mon Jul 24 15:19:07 2017
>>>time.ctime(1500000000)
Fri Jul 14 10:40:00 2017
技术分享图片
import time
true_time=time.mktime(time.strptime(2018-01-01 00:00:00,%Y-%m-%d %H:%M:%S))
time_now = time.mktime(time.strptime(2018-08-20 17:30:00,%Y-%m-%d %H:%M:%S))
dif_time = time_now - true_time
struct_time=time.gmtime(dif_time)
print(过去了%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))
>>>
过去了0年7月19天17小时30分钟0秒
练习 计算时间差

sys模块

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

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version       获取Python解释程序的版本信息
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform      返回操作系统平台名称
技术分享图片
import sys
try:
    sys.exit(1)
except SystemExit as e:
    print(e)
异常处理和status

os模块

os.makedirs(‘file_name/file_name1‘):生成多层递归目录,file_name文件夹下有个file_name1

技术分享图片
import os
os.makedirs(阿里巴巴/淘宝)
>>>
#生成两个文件
阿里巴巴文件夹下有个淘宝文件
View Code

os.removedirs(‘file_name/file_name1‘):删除,前提目录得是空的,并递归到上一级目录,如若也为空,则删除,以此类推

技术分享图片
os.removedirs(阿里巴巴/淘宝)
>>>
因为淘宝文件是空的,可以删除,删除后,阿里巴巴也变成了空,所以阿里巴巴也可以删除了
View Code

os.mkdir(‘file_name‘):生成单级目录,相当于shell中的mkdir dirname

技术分享图片
os.mkdir(file_name)
>>>
生成了一个file_name空文件夹
View Code

os.rmdir(‘file_name‘):删除单级目录,前提该目录为空,否则报错,相当于shell中的rmdir dirname

技术分享图片
os.rmdir(file_name)
>>>
删除了一个名为file_name的空文件夹
View Code

常用模块一

标签:多层   bsp   random模块   info   inf   time模块   获取   命令行   随机   

原文地址:https://www.cnblogs.com/--kai/p/9507113.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!