12.常见模块time、json模块
1.time模块
import time #python中最基本的时间模块 time.time() #时间戳 (1970年1月1日00:00:00后经过的浮点秒数) time.localtime(time.time()) #时间元组
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=38, tm_sec=59, tm_wday=2, tm_yday=361, tm_isdst=0) #返回的元组的内容:
#索引值(index) 属性(attribute) 值(value)
#0 tm_year(年) 例如:2016
#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(星期几) 0~6(0代表星期一)
#7 tm_yday(一年中的第几天) 1~366
#8 tm_isdst(是否为夏令时) 0,1,-1(-1代表夏令时)
格式化日期
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 当前时区的名称
%% %号本身
time模块,常用内置函数
#time.time( )
返回当前时间的时间戳(1970纪元后经过的浮点秒数)。 #time.localtime([secs])
接收时间辍(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。 #time.asctime([tupletime])
接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。 #time.strftime(fmt[,tupletime])
接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。 #time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
根据fmt的格式,把一个时间字符串,解析为时间元组。 #time.mktime(tupletime)
接受时间元组并返回时间辍(1970纪元后经过的浮点秒数)。 #time.sleep(secs)
推迟调用线程的运行,secs指秒数。
example:
import time t = time.time()
print(t) #返回当前时间戳 # 时间元祖 localtime()
print(time.localtime() ) # 默认返回当前 时间元组
print(time.localtime(1115587738 ) ) # 格式化
## 1. asctime() # 默认时间格式。 输入时间元组
print(time.asctime( time.localtime() ) ) ## 2. 自定义时间格式 strftime
# 2108-1-8 20:45:36 多少天 多少周
# 不能使用中文
t = time.strftime('%Y-%m-%d %H:%M:%S %j %U',time.localtime() )
print( t ) #### strptime(), 时间格式的字符串 , 转换成时间 s = '2017-5-6 20:16:32 '
time_tu = time.strptime(s,"%Y-%m-%d %H:%M:%S ")
print(time.strftime('%j',time_tu) )
print( time_tu ) print( time.mktime(time_tu )) ### sleep()
for i in range(20):
print(i)
if i ==10:
print('正在休息')
# time.sleep(5)
获取日历
import calendar
cal = calendar.month(2018, 1)
print("以下输出2018年1月份的日历:")
print(cal)
2.json模块
JSON全称是(JavaScript Object Notation)是一种轻量级的数据格式,一般用于前后台,数据的交互。 导入 import json print(json.__all__)
常用的方法:dumps、loads、dump、load 在使用之前 我们要了解两个名字 序列化和反序列化
序列化: 把一个Python对象转化成json字符串
反序列化: 把json字符串转化成python dumps :indent实现缩进, sort_keys 实现排序
| python对象 | json对象 |
|---|---|
| dict | object |
| list, tuple | array |
| str | string |
| int, float | number |
| None | null |
| True/False | true/fase |
example:
'''
JSON全称是(JavaScript Object Notation)是一种轻量级的数据格式,
一般用于前后台,数据的交互。
'''
## key - value import json user = {
'name' :'jianeng',
'age' : 18,
'f' : 1.2,
'language':('python','java'),
'li':[1,2,3,4 ],
'kong': None,
't' : True,
'f' : False
} # print(json.__all__ ) ## dumps loads
# dumps 序列化 python -> json a = json.dumps(user,indent=2,sort_keys=True ) # dumps -> json 格式的字符串
print( a )
print(type(a) ) #json 格式的字符串
print( user) # loads 反序列化
b = json.loads( a )
print(type(b) ) # dict
print(b) ## dump load 针对文件用的
with open('temp.json','w+' ) as f:
json.dump(user,f,indent=2,sort_keys=True ) # 序列化 # f = open('temp.json','r+' )
with open('temp.json','r+' ) as f:
data = json.load(f) # 反序列化f
print(data )
print(type(data) )
print(data['name'] )
3.作业
1、用time模块的方法,把这种格式时间的字符串 '2011-11-11' 转成这种 时间格式:'2011/11/11'
import time
# '2011-11-11' ==> '2011/11/11'
tmp_time = '2011-11-11'
a = time.strptime(tmp_time, '%Y-%m-%d')
# print(a)
b = time.strftime('%Y/%m/%d', a)
print(b)
2、把 Json 的四个方法 ,自己练习一遍
3.写一个login函数 然后写一个装饰器,模拟登录过程:让程序延迟3秒 在延迟过程中输出正在验证
"""
def login():
print('登录成功')
"""
import time def login_required(func):
def wrapper(*args, **kwargs):
print('正在验证...')
time.sleep(2)
return func(*args, **kwargs)
return wrapper @login_required
def login():
print('登录成功')
return 'code:200' a = login()
print(a)
12.常见模块time、json模块的更多相关文章
- Python 入门之 内置模块 -- 序列化模块(json模块、pickle模块)
Python 入门之 内置模块 -- 序列化模块(json模块.pickle模块) 1.序列化 Python中这种序列化模块有三种: json模块 : 不同语言都遵循的一种数据转化格式,即不同 ...
- Python之路(第十五篇)sys模块、json模块、pickle模块、shelve模块
一.sys模块 1.sys.argv 命令行参数List,第一个元素是程序本身路径 2.sys.exit(n) 退出程序,正常退出时exit(0) 3.sys.version . sys.maxint ...
- os模块、sys模块、json模块、pickle模块、logging模块
目录 os模块 sys模块 json模块 pickle模块 logging模块 os模块 功能:与操作系统交互,可以操作文件 一.对文件操作 判断是否为文件 os.path.isfile(r'路径') ...
- 时间模块之datatime模块、os模块、sys模块、json模块、json模块实操
目录 一.模块的绝对导入和相对导入 二.包的概念 三.编程思想的转变 四.软件开发目录规范 五.常见的内置模块 一.时间模块之datatime模块 1.datetime.datetime.today( ...
- Python 自学基础(四)——time模块,random模块,sys模块,os模块,loggin模块,json模块,hashlib模块,configparser模块,pickle模块,正则
时间模块 import time print(time.time()) # 当前时间戳 # time.sleep(1) # 时间延迟1秒 print(time.clock()) # CPU执行时间 p ...
- pickle模块 和json模块
pickle和json序列号 json模块是所有语言通用的,可以用来把一些数据转成字符串存储在文件中 import json l=[,,] with open('t3',mode='w',encodi ...
- os模块,sys模块,json模块,subprocess模块
os模块 一·什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同 的平台进行相应的操作,在python编程时,经常和文件.目录打交道 ...
- 常见模块(三) pickle模块和json模块
(一)json和pickle的区别 1.json是不同编程语言实现数据交换的工具,他是用来把python中的数据对象转换成字符串或者写入文件中的,再由其他语言通过json加载进来. 2.pickle是 ...
- Python常用模块之json模块
常用模块: 一个Python文件就是一个模块 import xxx 1. 标准模块,Python自带的,如time/random 2. 第三方模块,如连接mysql,需要安装 3. 自己写的Pytho ...
- os模块,序列化模块,json模块,pickle模块
一.os模块os.system("bash command") 运行shell命令,直接显示 os.popen("bash command).read() 运行shell ...
随机推荐
- JavaScript中trim 方法实现
Java中的 String 类有个trim() 能够删除字符串前后的空格字符.jQuery中也有trim()方法能够删除字符变量前后的字符串. 可是JavaScript中却没有对应的trim() 方法 ...
- php+redis秒杀
啥都不说了,看代码 前台: 包括开始和结束的秒杀时间,倒计时插件,统一看一遍再去写代码,思路会更清晰. js文件引入一个.min.js和一个插件js(在下面,自己复制吧) // JavaScript ...
- java 接口转码、加密
备用 package http; import java.io.UnsupportedEncodingException; import sun.misc.*; public class Base64 ...
- linux oracle配置开机启动
参考:http://jingyan.baidu.com/article/b2c186c8fe4306c46ef6ff16.html 先以root身份登录到linux系统, 1. 修改vi /etc/o ...
- Uncaught Error: artDialog: Document types require more than xhtml1.0
这需要声明html文档,加上如下声明就不会报错了! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
- TLE之前,没有一个节点叫失败!!!
我想我十八年来记忆最深刻的夜晚,大概便是在吉林大学燥热的宿舍里,穿着橘黄色的短袖,努力咽下大口大口的雪碧.那天晚上我仰躺在吉大热得几乎不能入眠的床板上,一动不动,看夏夜里打不尽的蚊子在惨白的天花板下飞 ...
- 【BZOJ2325】[ZJOI2011]道馆之战 线段树+树链剖分
[BZOJ2325][ZJOI2011]道馆之战 Description 口袋妖怪(又名神奇宝贝或宠物小精灵)红/蓝/绿宝石中的水系道馆需要经过三个冰地才能到达馆主的面前,冰地中的每一个冰块都只能经过 ...
- 【BZOJ2882】工艺 后缀自动机
[BZOJ2882]工艺 Description 小敏和小燕是一对好朋友. 他们正在玩一种神奇的游戏,叫Minecraft. 他们现在要做一个由方块构成的长条工艺品.但是方块现在是乱的,而且由于机器的 ...
- <2013 08 20> -----澳大利亚博士研究生申请-----
1.澳大利亚昆士兰大学博士的申请一年中什么时间都可以,但奖学金的评选每年只有四轮.和美国不同的是,在提交申请材料之前,个人必须联系好愿意接收你的导师,这个可以自己套磁联系,也可以和那边学院的小秘联系, ...
- Java基础 - 获取键盘输入
package com.demo3; import java.util.Scanner; /* * 使用 Scanner 获取键盘输入供程序使用 * * 使用步骤: * A:导包 * import j ...