python-第二块:random、shutil,json & pickle,shelve模块

Random module

import random,string
print(random.random())             #随机打印小数
print(random.randint(1,3))         #随机打印范围内整数(包含后面的3)
print(random.randrange(1,3))       #随机打印范围内整数(不包含后面的3)
print(random.sample(range(100),2)) #100里随机挑选两个数

str_source = string.ascii_letters + string.digits
check_word = ""
for i in range(6):
    check_num = random.randrange(0,6)
    if check_num != i:
        temp = chr(random.randint(65,90))
    else:
        temp = chr(random.randint(0,9))
    check_word +=str(temp)
print(check_word)

  random是随机选取模块,后面有关小程序可以随机生成6位数验证码

Shutil module

高级的文件、文件夹、压缩包处理模块

import shutil  #高级的文件、文件夹、压缩包 处理模块
with open("文件名") as f1,open("文件名","w") as f2:
    shutil.copyfileobj(f1,f2)                              #将对象1拷贝为对象2

shutil.copy()               #拷贝文件
shutil.copytree()             #拷贝目录
shutil.rmtree()               #递归删除
shutil.make_archive(base_name,format......)         #打包 ,base_name:压缩的文件名

  目前对于shutil模块的使用较少,用过shutil来备份文件。

Json&Pickle module 

  • json,用于字符串 和 python数据类型间进行转换
  • pickle,用于python特有的类型 和 python的数据类型间进行转换

Json模块提供了四个功能:dumps、dump、loads、load

pickle模块提供了四个功能:dumps、dump、loads、load

  首先使用json或pickle序列化

#序列化
import json     #json模块通用于各大语言,使用json进行转换
import pickle   #只适应于python

info ={
    "name":"dzk",
    "age":23
}

f = open("test","w")
f.write(json.dumps(info))  # == json.dump(info,f)
f.close()

  然后使用json或pickle反序列号

#序列化
import json     #json模块通用于各大语言,使用json进行转换
import pickle

f = open("test","r")
date = json.loads(f.read())   # == json.load(f)
print(date)
f.close()

Shelve module

  shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式

import shelve

def date(name,age):
    print("hello",name,age)

f = shelve.open("shelve_test")

print(f["she_dict"])
print(f["she_list"])
print(f["she_def"]("dzk",23))

  最后会生成三个文件,shelve_test.bak,shelve_test.bat,shelve_test.dir      

文件内容为:

'she_list', (512, 35)
'she_dict', (0, 45)
'she_def', (1024, 20)

这个模块功能暂没用过
posted @ 2017-05-23 16:58  清霜半落沙痕浅  阅读(134)  评论(0编辑  收藏  举报