首页 > 代码库 > Python:time模块&序列化&md5&生成随机数&反射

Python:time模块&序列化&md5&生成随机数&反射

time模块:
>>> import time>>> time.time<built-in function time>>>> time.time()1473837803.320634>>> time.localtime()time.struct_time(tm_year=2016, tm_mon=9, tm_mday=14, tm_hour=15, tm_min=23, tm_sec=58, tm_wday=2, tm_yday=258, tm_isdst=0)>>> time.ctime()Wed Sep 14 15:25:17 2016>>> time.strftime(%Y-%m-%d %H:%M:%S) 2016-09-14 15:35:30

序列化和json:

序列化:可以把一个对象(列表,元祖,字典)通过特殊二进制方式进行加密的过程,它可以序列化任何数据类型。

json:把内存的数据jason化,原理与序列化一样

区别:pickle只能在python中运用;json所有语言支持,只能序列化常规的数据类型;pickle序列化的数据不能直观的看出数据内容

>>> name_dict = {name:pingy,age:20}>>> import json>>> import pickle>>> json.dumps(name_dict){"age": 20, "name": "pingy"}>>> pickle.dumps(name_dict)b\x80\x03}q\x00(X\x03\x00\x00\x00ageq\x01K\x14X\x04\x00\x00\x00nameq\x02X\x05\x00\x00\x00pingyq\x03u.

md5:

import hashlibha = hashlib.md5()ha.update(admin)   #md5加密print(ha.hexdigest())

生成随机数:

random:随机数random.random():随机生成0-1的小数random.randint(1,5):随机生成1-5范围内的整数(包括1和5)random.randrange(1,3):随机生成1-3范围内的整数(不包括3)
import randomcode = []for i in range(6):    if i == random.randint(1,9):        code.append(str(random.randint(1,9)))    else:        temp = random.randint(65,90)   #A-Z        code.append(chr(temp))print(‘‘.join(code))

反射:以字符串的形式导入模块,并以字符串的形式执行函数

temp =  mysqlserverhelperfunc = countmodule = __import__(temp)    #以字符串的形式导入模块function = getattr(module,count)   #以字符串的形式执行函数print(function)

 

Python:time模块&序列化&md5&生成随机数&反射