Python:time模块&序列化&生成随机数&反射
time模块:
>>> import time
>>> time.time
<built-in function time> >>> time.time()
1473837803.320634 >>> time.localtime()
time.struct_time(tm_year=, tm_mon=, tm_mday=, tm_hour=, tm_min=, tm_sec=, tm_wday=, tm_yday=, tm_isdst=) >>> time.ctime()
'Wed Sep 14 15:25:17 2016' >>> time.strftime('%Y-%m-%d %H:%M:%S')
'2016-09-14 15:35:30'
序列化和json:
序列化:把变量从内存中变成可存储或者传输的过程叫序列化。序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。
- pickle.dump:把对象存储到磁盘中,或传输到其他主机。直接把对象序列化成file-like object
- pickle.dumps:把任意对象序列化成一个bytes,然后可以把这个bytes写入文件中
反序列化:把变量内容从序列化的对象重新读到内存里称之为反序列化。
- pickle.load:直接从file-like object中反序列化出对象
- pickle.loads:把磁盘中的对象读取到内存中,先把内容读取到一个bytes,然后用pickle.loads反序列化出对象
json:把内存的数据json化,原理与序列化一样
区别:pickle只能在python中运用;json所有语言支持,只能序列化常规的数据类型;pickle序列化的数据不能直观的看出数据内容
#序列化:
import pickle d = dict(name='pingy',age=25,addr='BJ') f = open('pickle_file.txt','wb')
pickle.dump(d,f)
f.close()
输出结果:在目录下能看到新建的pickle_file.txt文件,里面内容为十六进制乱码
#反序列化:
import pickle f = open('pickle_file.txt','rb')
d = pickle.load(f)
f.close()
print (d)
输出结果为:
{'name': 'pingy', 'age': 25, 'addr': 'BJ'}
读取到存在目录下的pickl_file.txt中的内容。
生成随机数:
random:随机数
random.random():随机生成0-1的小数
random.randint(1,5):随机生成1-5范围内的整数(包括1和5)
random.uniform(10,20):随机生成10-20范围内的浮点数
random.randrange(1,3):随机生成1-3范围内的整数(不包括3)
random.choice(''): 从序列中随机获取一个元素
random.sample(list, k):从list序列中随机获取5个元素,原有序不会改变
random.shuffle():将一个列表中的元素打乱
例:
#随机整数:
>>> import random
>>> random.randint(0,99)
21
#随机选取0到100间的偶数:
>>> import random
>>> random.randrange(0, 101, 2)
42
#随机字符:
>>> import random
>>> random.choice('abcdefg&#%^*f')
'd'
#多个字符中选取特定数量的字符:
>>> import random
random.sample('abcdefghij',3)
['a', 'd', 'b']
#随机选取字符串:
>>> import random
>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )
'lemon'
#洗牌:
>>> import random
>>> items = [1, 2, 3, 4, 5, 6]
>>> random.shuffle(items)
>>> items
[3, 2, 5, 6, 4, 1]
#随机生成6位验证码 import random def verification(length=6):
code_list = []
for i in range(10):
code_list.append(str(i))
for i in range(65,91):
code_list.append(chr(i))
for i in range(97,123):
code_list.append(chr(i)) my_list = random.sample(code_list,length)
code = ''.join(my_list)
return code print(verification())
反射:以字符串的形式导入模块,并以字符串的形式执行函数


输出结果:
这是module_1中的func函数!
Python:time模块&序列化&生成随机数&反射的更多相关文章
- 【转载】python 模块 - random生成随机数模块
随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1) 这样random.randint(0,6, (4,5)) ...
- python ranndom模块及生成验证码
python的random模块用于生成随机数,下面介绍一下random模块的常用方法: 取随机小数: 数学计算 random.random() 用于生成一个0-1的随机浮点数 0<=n<1 ...
- 老男孩python学习自修第十二天【常用模块之生成随机数】
常用函数 import random random.random() 生成0到1之间的小数 random.randint(begin, end) 生成[begin, end]之间的整数 random. ...
- Python random模块(获取随机数)常用方法和使用例子
random.randomrandom.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniformrandom.uniform(a, b),用 ...
- Python random模块(获取随机数)
1.random.random 随机生成一个0到1的随机浮点数: 0 <= n < 1.0 In [2]: print random.random() 0.544824016934 2.r ...
- python random模块(获取随机数)的常用方法及示例
random.randomrandom.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniformrandom.uniform(a, b),用 ...
- random模块,生成随机数
1.random.choice(sep) 从一个序列中随机选取一个元素返回 >>> list1=["a",1,2,3,"b"] >> ...
- Python中random模块生成随机数详解
Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...
- Day05 - Python 常用模块
1. 模块简介 模块就是一个保存了 Python 代码的文件.模块能定义函数,类和变量.模块里也能包含可执行的代码. 模块也是 Python 对象,具有随机的名字属性用来绑定或引用. 下例是个简单的模 ...
随机推荐
- JS获取当前日期时间及JS日期格式化
Js获取当前日期时间: var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份( ...
- WCF:没有终结点在侦听可以接受消息的*这通常是由于不正确的地址或者 SOAP操作导致的。
没有终结点在侦听可以接受消息的 http://xx.com/WebService.svc. 这通常是由于不正确的地址或者 SOAP 操作导致的.如果存在此情况,请参见 InnerException 以 ...
- 动态布局--动态修改RelativeLayout宽高的方法
本文实例讲述了Android编程动态修改RelativeLayout宽高的方法.分享给大家供大家参考,具体如下: 我们经常会动态修改RelativeLayout的宽高,这样的代码,比较简单,就是修改R ...
- 整理QQ数据库sql语句
设置数据库的时候 qq 号如果用整型,设置成UNSIGNED,不然超过一定数值就错误 UPDATE `sao_qq` SET qq_num = REPLACE ( qq_num, '@qq.com', ...
- 黄聪:C#操作Word表格的常见操作(转)
几种常见C#操作Word表格操作有哪些呢?让我们来看看具体的实例演示: bool saveChange = false; //C#操作Word表格操作 object missing = System. ...
- Flash插件地址
Flash插件地址: http://get.adobe.com/cn/flashplayer/存档版本地址: http://helpx.adobe.com/flash-player/kb/archiv ...
- node js 调试
npm install -g node-inspector node --debug app.js >重新打开一个窗口 node-inspector & KO! no ...
- 如何实现Qlikview的增量数据加载
笔者备注: 刚刚接错Qlikview,上网搜集的资料,如何处理增量数据. 1 寻找增量时间戳(1)各种数据库:表的创建时间字段和修改时间字段或者最后的修改时间字段:(2)sql server:可以用找 ...
- 1.No MBR错误
如果提示如下错误: Error: No MBR is found at SD/MMC. Hint: use f ...
- 炫酷的时钟--canvas初体验
先啥也不说:来张效果图 我是根据:http://www.imooc.com/learn/133 这里的课程进行学习的.大大的感谢liuyubobobo老师的深入浅出的讲解!! 我在这里仅仅提供我自己的 ...