当前位置: 首页 > wzjs >正文

提供网站制作公司报价微网站和微信

提供网站制作公司报价,微网站和微信,做网站美工未来规划,百度网站空间# ### pickle 序列化/反序列化模块 import pickle """ 序列化: 把不能够直接存储在文件中的数据变得可存储 反序列化: 把存储在文件中的数据拿出来恢复成原来的数据类型 php serialize unserialize 把所有的数据类型都通过pickle模块进行序列化 &…

# ### pickle 序列化/反序列化模块
import pickle
"""
序列化:   把不能够直接存储在文件中的数据变得可存储
反序列化: 把存储在文件中的数据拿出来恢复成原来的数据类型

php
    serialize
    unserialize

把所有的数据类型都通过pickle模块进行序列化    
"""

lst = [1,2,3]
# 错误案例, 文件不能直接存储容器 , 文件只能存储字符串和字节流
"""
with open("lianxi1.txt",mode="w",encoding="utf-8") as fp:
    fp.write(1)
"""
#dumps 把任意对象序列化成一个bytes
res = pickle.dumps(lst)
print(res , type(res))

#函数可以序列化么? 可以
def func():
    print("我是func函数")
res = pickle.dumps(func)
print(res , type(res))

#迭代器可以序列化么? 可以
it = iter(range(10))
res = pickle.dumps(it)
print(res , type(res))

#loads 把任意bytes反序列化成原来数据
res2 = pickle.loads(res)
print(res2 , type(res2))


#dump  把对象序列化后写入到file-like Object(即文件对象)
lst = [1,2,3]
with open("lianxi1.txt",mode="wb") as fp:
    pickle.dump(lst,fp)

#load  把file-like Object(即文件对象)中的内容拿出来,反序列化成原来数据
with open("lianxi1.txt",mode="rb") as fp:
    res2 = pickle.load(fp)
print(res2 , type(res2))


# dumps 和 loads 对文件进行写入读取字节流操作
# 写入字节流
with open("lianxi2.txt",mode="wb+") as fp:
    res1 = pickle.dumps(lst)
    fp.write(res1)

# 读取字节流
with open("lianxi2.txt",mode="rb+") as fp:
    bytes_str = fp.read()
    res = pickle.loads(bytes_str)
print(res , type(res2))

# ### json 序列化/反序列化模块
import json
"""
json格式的数据,所有的编程语言都能识别,本身是字符串
类型有要求: int float bool str list tuple dict None

json   主要应用于传输数据 , 序列化成字符串
pickle 主要应用于存储数据 , 序列化成二进制字节流
"""

# json 基本用法
# json =>  dumps 和 loads
"""ensure_ascii=False 显示中文 sort_keys=True 按键排序"""
dic = {"name":"梁新宇","sex":"野味","age":22,"family":["爸爸","妈妈","姐姐"]}
res = json.dumps(dic,ensure_ascii=False,sort_keys=True)
print(res , type(res))

dic = json.loads(res)
print(dic , type(dic))


# json => dump 和 load
with open("lianxi3.json",mode="w",encoding="utf-8") as fp:
    json.dump(dic,fp,ensure_ascii=False)
with open("lianxi3.json",mode="r",encoding="utf-8") as fp:
    dic = json.load(fp)
print(dic , type(dic))

# ### json 和 pickle 之间的区别
# 1.json
# json 连续dump数据 , 但是不能连续load数据  , 是一次性获取所有内容进行反序列化.
dic1 = {"a":1,"b":2}
dic2 = {"c":3,"d":4}
with open("lianxi4.json",mode="w",encoding="utf-8") as fp:
    json.dump(dic1,fp)
    fp.write("\n")
    json.dump(dic2,fp)
    fp.write("\n")

# 不能连续load,是一次性获取所有数据 , error
"""
with open("lianxi4.json",mode="r",encoding="utf-8") as fp:
    dic = json.load(fp)
"""

# 解决办法 loads(分开读取)
with open("lianxi4.json",mode="r",encoding="utf-8") as fp:
    for line in fp:
        dic = json.loads(line)
        print(dic,type(dic))


# 2.pickle
import pickle
# pickle => dump 和 load
# pickle 连续dump数据,也可以连续load数据
with open("lianxi5.pkl",mode="wb") as fp:
    pickle.dump(dic1,fp)
    pickle.dump(dic2,fp)
    pickle.dump(dic1,fp)
    pickle.dump(dic2,fp)
    

# 方法一
"""
with open("lianxi5.pkl",mode="rb") as fp:
    dic1 = pickle.load(fp)
    dic2 = pickle.load(fp)
    print(dic1)
    print(dic2)
"""
# 方法二 (扩展)
"""try .. except .. 把又可能报错的代码放到try代码块中,如果出现异常执行except分支,来抑制报错"""
# 一次性拿出所有load出来的文件数据
try:
    with open("lianxi5.pkl",mode="rb") as fp:
        
        while True:
            dic = pickle.load(fp)
            print(dic)
except:
    pass

"""

# json 和 pickle 两个模块的区别:
(1)json序列化之后的数据类型是str,所有编程语言都识别,
   但是仅限于(int float bool)(str list tuple dict None)
   json不能连续load,只能一次性拿出所有数据
(2)pickle序列化之后的数据类型是bytes,用于数据存储
   所有数据类型都可转化,但仅限于python之间的存储传输.
   pickle可以连续load,多套数据放到同一个文件中

"""

# ### time 时间模块
import time


#time()          获取本地时间戳
res = time.time()
print(res)

# localtime <=> mktime => ctime

#localtime()     获取本地时间元组          (参数是时间戳,默认当前)
# 默认当前时间元组
ttp = time.localtime()
print(ttp)

# 指定具体的时间戳
ttp = time.localtime(1601360000)
print(ttp)

#mktime()        通过时间元组获取时间戳    (参数是时间元组)
res1 = time.mktime(ttp)
print(res1)

#ctime()         获取本地时间字符串(参数是时间戳,默认当前)
# 默认当前时间戳
res = time.ctime()
print(res)

# 指定具体的时间戳
res = time.ctime(res1)
print(res)

#asctime()       通过时间元组获取时间字符串(参数是时间元组) (了解)
"""只能通过手动的形式来调星期"""
ttp = (2020,9,29,16,48,30,0,0,0)
res = time.asctime(ttp)
print(res)


# mktime 配合 ctime来取代asctime (推荐)
"""自动识别当前是周几"""
res = time.mktime(ttp)
strvar = time.ctime(res)
print(strvar)


#sleep()         程序睡眠等待
"""
time.sleep(10)
print("我睡醒了")
"""

#strftime()      格式化时间字符串(格式化字符串,时间元祖)
"""linux支持中文 windows不支持 """
strvar = time.strftime("%Y-%m-%d %H:%M:%S")
strvar = time.strftime("%Y-%m-%d %H:%M:%S 是杜兰特的死神的生日")
print(strvar)

strvar = time.strftime("%Y-%m-%d %H:%M:%S",(2020,10,31,10,10,10,0,0,0))
print(strvar)


#strptime()      将时间字符串通过指定格式提取到时间元组中(时间字符串,格式化字符串) 
"""注意:替换时间格式化标签时,必须严丝合缝.不能随便加空格或特殊字符"""
ttp = time.strptime("2020年的9月29号是死神杜兰特的生日,晚上20点30分40秒准备轰趴派队","%Y年的%m月%d号是死神杜兰特的生日,晚上%H点%M分%S秒准备轰趴派队")
print(ttp)

"""
strftime : 把时间元组 => 字符串
strptime : 把字符串   => 时间元组
"""

#perf_counter()  用于计算程序运行的时间 (了解)

# startime = time.perf_counter()
startime = time.time()
for i in range(10000000):
    pass    
# endtime = time.perf_counter()
endtime = time.time()
print("中间用时:",endtime-startime)

# ### zipfile 压缩模块
import zipfile

# (1) 压缩文件
""" zipfile.ZIP_DEFLATED 压缩减少空间 """
# 创建压缩包
zf = zipfile.ZipFile("ceshi111.zip","w",  zipfile.ZIP_DEFLATED)
# 写入文件
'''write(路径,别名)'''
zf.write("/bin/bash","bash")
zf.write("/bin/bunzip2","bunzip2")
zf.write("/bin/cat","tmp/cat")
# 关闭文件
zf.close()

# (2) 解压文件
zf = zipfile.ZipFile("ceshi111.zip","r")
# 解压单个文件
"""extract(文件,路径)"""
# zf.extract("bash","ceshi111")
# 解压所有文件
zf.extractall("ceshi222")
zf.close()


# (3) 追加文件
zf = zipfile.ZipFile("ceshi111.zip","a", zipfile.ZIP_DEFLATED)
zf.write("/bin/chmod","chmod")
zf.close()

# 用with来简化操作
with zipfile.ZipFile("ceshi111.zip","a", zipfile.ZIP_DEFLATED) as zf:
    zf.write("/bin/chmod","chmod123456")

# (4) 查看文件
with zipfile.ZipFile("ceshi111.zip","r") as zf:
    lst = zf.namelist()    
    print(lst)

# ### 进度条
import time
"""
[###################################] 100%
[##############                     ] 40%
[#############################      ] 80%
"""
# (1) 定义进度条样式
"""
print("[%-50s]" % ("#"))
print("[%-50s]" % ("######################"))
print("[%-50s]" % ("##############################################"))
"""

# (2) 让进度条动起来
"""
strvar = ""
for i  in range(50):
    time.sleep(0.1)
    strvar += "#"
    print("\r[%-50s]" % (strvar) , end="")
"""

# (3) 加上百分比
# 显示进度条
def myprocess(percent):
    if percent > 1:
        percent = 1
    
    # 打印对应的#号数量 * "#" => 字符串#号效果
    strvar = int(percent * 50) * "#"
    # 进行打印 %% => % 
    print("\r[%-50s] %d%%" % (strvar , percent * 100) , end="")

# 接受数据
recv_size = 0
total_size = 1000
while recv_size < total_size:
    time.sleep(0.01)
    recv_size += 10
    
    percent = recv_size/total_size # 0.5 
    myprocess(percent)
    

        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    


 


文章转载自:

http://5hi69Zpn.nytgk.cn
http://qQT8jH9K.nytgk.cn
http://LZHO2AGL.nytgk.cn
http://D9Rq7s5y.nytgk.cn
http://3CA3iFiq.nytgk.cn
http://ZHZm5c1c.nytgk.cn
http://sKPe4Xy7.nytgk.cn
http://vk3ywYia.nytgk.cn
http://0TGSjIyC.nytgk.cn
http://88tG3c6U.nytgk.cn
http://lJAV9BIm.nytgk.cn
http://uAQaV3cY.nytgk.cn
http://20twAbZ6.nytgk.cn
http://UKm8TIAr.nytgk.cn
http://xvcVdrJS.nytgk.cn
http://nSZo0Fau.nytgk.cn
http://SCOLIx4n.nytgk.cn
http://JLjC8Jcs.nytgk.cn
http://rI5fLQn0.nytgk.cn
http://1zPRmjdI.nytgk.cn
http://f8RYznE2.nytgk.cn
http://fakvdgwI.nytgk.cn
http://vUAtJxOO.nytgk.cn
http://g6512Px8.nytgk.cn
http://KtaM6Qvr.nytgk.cn
http://LUIeQrDf.nytgk.cn
http://4WsL1ZqP.nytgk.cn
http://5X1WR8Gd.nytgk.cn
http://zpMbKCfw.nytgk.cn
http://0ODqUJD6.nytgk.cn
http://www.dtcms.com/wzjs/656593.html

相关文章:

  • 广州学做网站餐饮系统网站建设
  • 西安模板网站自己做一个app难吗
  • 公司网站建设多少费用哪里济南兴田德润有活动吗wordpress获取qq昵称 头像
  • 做类似返利网的网站有哪些网站做动态图片
  • 网站内容优化方法有哪些内容wordpress 仿魔客吧
  • 网站需求分析网站建设网站建设合同 技术合同范本
  • 网站html代码宝塔Linux面板清理建设的网站
  • 建设银行北京招聘网站公司想制作网站
  • 潍坊建站程序iis创建网站
  • 网站开发与维护的岗位特点职责富阳区建设工程质监站网站
  • 不得不知道的网站交互设计专业
  • 网站正在建设中 倒计时春考网页制作素材
  • 法律平台网站建设方案成免费crm特色学生版的特点
  • asp网站报错信息吕梁网页制作公司
  • 公司自有网站工信备案建筑工程教育网官方网站
  • 网站移动端自适应iis网站出乱码
  • 对php网站开发技术课程总结2019河北省建设厅检测员报名网站
  • 微网站设计与开发竞赛东莞市赢网网络科技有限公司
  • 学校网站建设需求分析住房和城乡建设部课题网站
  • 定制企业网站建设广东省城乡建设厅网站
  • 免费模板网站欧洲手表网站
  • 群辉做网站服务器网站建设技能考试
  • 在线设计免费logosemseo是什么意思
  • 网站怎么做全站搜索在线企业查询系统
  • 网站推广策划方案大数据vs网站开发建表怎么肩啊
  • 动易网站后台网站代码案例
  • 怎么看深圳网站页面设计丹阳火车站片区规划
  • 网站建设维护职责凡科网站制作
  • 微网站开发建设二级分销小程序
  • 英文手机商城网站建设宁波外包seo公司