python库的学习

一,json:序列化与反序列化

序列化:把Python对象(字典,列表,元组)转为字符串的过程
反序列化:把字符串转为Python对象(字典,列表,元组)的过程

import json#导入json库

1,列表的序列化与反序列化

list1=[x for x in range(10)]#创建一个列表
str_list=json.dumps(list1)#将list1序列化后赋值给str_list
print(str_list,type(str_list))#输出str_list和str_list的字符格式(这个时候的str_list应该是str的字符格式)
list_str=json.loads(str_list)#将str_list反序列化后赋值给list_str
print(list_str,type(list_str))#输出ist_str和list_str的字符格式(这个时候的str_list应该是list的字符格式)

2,元组的序列化与反序列化

tuple=("go","python","java")#创建一个元组
str_tuple=json.dumps(tuple)#对元组进行序列化
print(str_tuple,type(str_tuple))#查看序列化后的元组与字符串类型(str类型)
tuple_str=json.loads(str_tuple)#反序列化操作
print(tuple_str,type(tulpe_str))#查看反序列化后的元组及其字符类型(list类型)
#元组的反序列化后,它的字符格式为列表

3,字典的序列化与反序列化

dict={"name":"柏舟","age",18}#创建一个字典
str_dict=json.dumps(dict,indent=True,ensure_ascii=False)#indent:格式化的意思,可以将字典的key,value做到换行的操作,ensure_ascii:python自带的编码系统,如果你的字典中有中文
,让这个编码为False,才能保证输出的是中文.
print(str_dict,type(str_dict))#查看序列化后结果,以及它的字符串格式(str类型)
dict_str=json.loads(str_dict)#反序列化字典
print(dict_str,type(dict_str))#查看反序列化结果,以及字符串类型(dict类型)



4,文件的序列化及反序列化

list=[0,1,2,3,4,]#创建一个列表
json.dumps(open(list,"文件名称","w","encoding="utf-8"))#序列化这个文件,并创建一个"文件名称"的问价来储存"list"
date=json.loads(open("文件名称")#创建一个对象,反序列化并阅读"文件名称内容"赋值给"date"
print(date,type(date))#查看date内容,以及字符格式(等同于你序列化之前的格式)

二,os:处理路径

import os#导入os库

1,获取当前文件路径

print(os.path.dirname(___file___)#获取当前路径

2,获取当前文件的上一级路径

print(os.path.dirname(os.path.dirname(___file___)#查询当前文件上级路径

3,路径的拼接

"""假设当前有c:这个盘,c盘内有A和B两个文件夹,A里面有文件1,2,3,B里面有4,5,6三个文件"""
#假设当前我们处在4号文件
print(os.path.dirname(___file___)#查询结果应该是/c/B
"""我们现在要在4号文件中显示出1号文件"""
base_dir=os.path.dirname(os.path.dirname(___file___)#将4号文件的上级文件路径赋值为base_dir,4号文件的上级与1号文件的上级属于同一级
file_path=os.path.join(base_dir,A,1)#将赋值的变量与4号文件的路径聚合为一个新的路径
whit open("flie_path","r","encoding='utf-8")as f:#打开这个新的路径并为其命名为f
      print(f)#打开f就可以看到4号文件的内容

4,获取操作系统

print(os.name)#获取操作系统

5,查询目录是否存在

print(os.path.exists("需要查询的目录")#查询目录是否存在

6,查询文件是否是文件

print(os.path.isdir("需要查询的文件目录")#查询是否是文件

7,查询路径下所有文件

for item in os.listdir("文件路径")
print(item)
#查询路径下所有文件内容

8,执行系统命令

print(os.system("需要执行的内容")#执行系统命令

三,time:操作时间

import time#导入time库

1,获取当前时间戳

print(time.time())#获取当前时间戳

2,返回当前时间的字符串

print(time.ctime())#返回当前时间的字符串

3,时间戳转化为字符串

print(time.ctime(time.time()))#时间戳转化为字符串

4,本地化时间

print(time.localtime(time.time()))#本地化时间

5,中国人自己的时间

print(time.strftime(%y-%m-%d %H:%M:%S,time.localtime()))#中国人自己熟悉的时间"""t.sleep(X):休眠x秒
%H:%M:%S==%X

四,datetime:时间的封装

import datetime#引入datetime库

1,获取当前时间

print(datetime.datetime.now())#获取当前时间

2,对时间进行修改

print(datetime.datetime.now+datetime.timedelta("修改的时间参数"))#时间的修改

3,将时间戳转化为时间

import time
import datetime
#导入时间和封装库
print(datetime.datetime.fromtimetamp(time.time()))#转化时间戳为时间

五,hashlib:引用加密库

import hashlib#引入加密库

1,md5是一种加密方式,

需求:

1,针对字典进行排序

2,排序后的字典处理为key1=values&key1=values2

3,进行md5加密

import hashlib#引入加密库
from urllib import parse#引入可以把字典转化为key&values的格式的库
import time def dict() dict={"name":"柏舟","age":18,"time":"time.time()"}#创建一个字典函数 dict1=dict(sorted(dict.item key=lambda x:x[0])#对字典进行排序 dict2=parse unlencode(dict1)#将排序后的字典转化为key&value的模式 m=hashlib.md5()#将加密库赋值为m m.update(dict2.encode("utf-8")#对字典进行加密解码 print(m.hexdigest())#对加密解码后的字典进行输出 dict()

 

posted @ 2022-06-22 09:12  柏舟0129  阅读(114)  评论(0)    收藏  举报