time模块

1.0 time模块

import time
time.sleep([n])#休眠N秒
print (time.time())
#获取当前时间戳

在python中,表示时间通常有3种方式:

  • 时间戳(timetamp):表示的是从1970.0101 00:00:00开始计算的偏移量

  • 格式化的时间字符串(format string)

time.strftime('%Y-%m-%d %X')
#2019-07-26 08:56:49	
time.localtime()
1564102766.347826#时间戳
2019-07-26 08:59:263#字符串时间
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=8, tm_min=59, tm_sec=26, tm_wday=4, tm_yday=207, tm_isdst=0)#结构化时间
26
  • 结构化的时间(struct_time)—>元组,9个元素,(年月日分秒,一年的第几周,一年的第几天,夏令时)
python中时间日期格式化符号:
%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 当前时区的名称
%% %号本身

1.1 time模块的常用方法

方法描述
time.localtime([sec])将一个时间戳转化为一个当前时区的struct_time(未提供参数,以当前时间)
time.gmtime([sec])和localtime()类似,不同的是,其是将一个时间戳转换为UTC时区(0时区)的struct_time
time.time()返回当前时间戳
time.mktime(t)将time.struct_time转化为时间戳
time.sleep(sec)线程推迟指定的时间运行,单位s
time.asctime([t])把表时间的元组或struct_time表示为:‘Sun July 26 09:06:35 2019’;如为传递参数,默认为time.localtime()
time.ctime([t])把一个时间戳转换为time.asctime()形式。如果未传参数,默认time.time()
time.strftime(format[,t])把一个代表时间的元组/struct_time(localtime()和gmtime()转换为格式化的字符串,未传参数,默认为time.localtime())
time.strptime()将结构化字符串转化为struct_time 形式
  • 时间戳,计算机识别的
  • 字符串时间,人类可以看的
  • 结构化时间,对时间操作

1.1.1时间戳和结构化时间的转化

now=time.time()
print (time.gmtime(now))#对应0时区UTC
print (time.localtime(now))#localtime北京时区(东八区)差8小时
#time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=1, tm_min=18, tm_sec=36, tm_wday=4, tm_yday=207, tm_isdst=0)
#time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=9, tm_min=20, tm_sec=50, tm_wday=4, tm_yday=207, tm_isdst=0

1.1.2结构化时间和时间戳的转化

tp_struct=time.localtime()
print (time.mktime(tp_struct))
#1564104184.0

1.1.3结构化时间和字符串时间的转化

tp_struct=time.localtime()
print (time.mktime(tp_struct))
print (time.strftime('%Y-%m-%d %X',tp_struct))#
#1564104425.0
#2019-07-26 09:27:05

1.1.4字符串时间和结构化时间的转化

tp_struct=time.localtime()
print (time.mktime(tp_struct))
print (time.strftime('%Y-%m-%d %X',tp_struct))
print (time.strptime('2019-07-26','%Y-%m-%d'))#
#1564104651.0
#2019-07-26 09:30:51
#time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=207, tm_isdst=-1)

1.1.5结构化时间和字符串时间的转化

tp_struct=time.localtime()
print (time.asctime(tp_struct))#没参数,则用当前时间默认值
#Fri Jul 26 09:49:44 2019

1.1.6时间戳和字符串的转化(国际化)

print (time.ctime(time.time()))
#Fri Jul 26 09:52:40 2019

2.0 datetime模块

  • 相比time来说,datetime模块接口更加直观,更容易调用
    方法(类)|描述
    :-?:-:
    datetime.date|表示日期(类),常用属性year,month,day
    datetime.time|表示时间,常用属性hour,mintue,second,micrsecond
    datetime.datetime|表示日期
    datetime.timedelta|表示时间间隔
    datetime.tzinfo|与时区有关的信息
import datetime
print (datetime.datetime.now().date())
#2019-07-26
import datetime 当前时间加一个小时
print (datetime.datetime.now()+datetime.timedelta(hours=1))
#2019-07-26 11:06:54.064843

3.0 sys模块

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

处理命令行参数

在解释器启动后,argv列表包含了传递脚本的所有参数,列表的第一个元素是脚本自身的名称

import test
# sys.path.append('D:\python\wzry')
# print (sys.path)
print (sys.byteorder) python解释器有关的版权信息
print (sys.copyright) 解释器在磁盘上的存储路径
print (sys.executable)保存文件所用的字符集
print (sys.getfilesystemencoding()) utf-8
print (sys.maxsize) python整数支持的最大值
print (sys.platform) 解释器的版本信息
print (sys.version)  解释器的主版本号
#little
#Copyright (c) 2001-2018 Python Software Foundation.
All Rights Reserved.

#Copyright (c) 2000 BeOpen.com.
All Rights Reserved.

#Copyright (c) 1995-2001 Corporation for National Research Initiatives.
#All Rights Reserved.

#Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
#All Rights Reserved.
#D:\python\python.exe
#utf-8
#9223372036854775807
#win32
#3.6.7 (v3.6.7:6ec5cf24b7, Oct 20 2018, 13:35:33) [MSC v.1900 64 bit (AMD64)]

4.0序列号模块

​ 序列化

概念:讲一个对象从内存中转化为可存储(字符串类型)或者可传输(bytes)类型的过程。python中叫pickling。

为什么要使用序列化?

  • 持久化数据类型
  • 跨平台交互使用
  • 使程序更易维护

str/bytes---------->

​ 反序列化

4.1 json

json格式在各个语言中都可以通用的序列化格式。在json中,所有字符串必须为" "。

json类型python类型
{}dict
[]list
“string”str
1234.56int/float
true/falseTrue/False
nullNone

4.1.1 json 优缺点

  • 优点:所有数据类型各语言通用
  • 缺点:json只支持比较少的数据类型;对数据类型的约束十分严格
  • 在字典中的key必须是字符串
  • json只支持列表,字典,数值,字符串以及布尔值

4.1.2查看json的方法和属性

4.1.3四个功能

import json
dic={"name":"city college","age":20,"type":"university"}
sr_dic=json.dumps(dic)#序列化 将字典转化成一个字符串
print (type(sr_dic))
print (sr_dic)
print (dic)
#<class 'str'>
#’{"name": "city college", "age": 20, "type": "university"}‘
#{'name': 'city college', 'age': 20, 'type': 'university'}

dic_2=json.loads(sr_dic) #将字符串重新转回字典
print (type(dic_2))
#<class 'dict'>

dic={"seq":(1,2,3)} #key必须是string
sr_dic=json.dumps(dic)#如果是元组,序列化时强转为列表;若元组作为字典的key。报错
print (sr_dic)
#{"seq": [1, 2, 3]}
  • 如果把数据类型直接序列化写入文件中,可以用dump,load方法。
import json

dic={"name":"city college","age":20,"type":"university"2:6}
with open("dump_json","w")as f:
    json.dump(dic,f)#dump方法可以接受一个文件句柄。直接将字典->字符串,写入文件中
with open("dump_json")as f:
    ret = json.load(f)
    print (ret,type(ret))

4.2 pickle

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值