模块 【一】

模块的定义:模块即使你写的py文件,就是一些常用功能的集合体

模块的分类
第一类:内置模块,也叫标准库
第二类:第三方模块,第三方库,别人写好的,必须通过pip install来安装
第三类:自定义模块,我们自己在项目中定义的一些模块
模块的用法:

importfrom...(工具箱)import...(工具)

一.json模块
json模块是将满足条件的数据结构转化成特殊的字符串,并且也可以反序列化还原回去
序列化模块总共只有两种方法:
1.用于网络传输中间环节
2.文件存储中间环节

json模块总共有两对四个用法:
1.用于网路传输:dumps,loads

import json
dic = {'k1':'v1','k2':'v2','k3':'v3'}
str_dic = json.dumps(dic)  #序列化:将一个字典转换成一个字符串
print(type(str_dic),str_dic)  #<class 'str'> {"k3": "v3", "k1": "v1", "k2": "v2"}
#注意,json转换完的字符串类型的字典中的字符串是由""表示的
​
dic2 = json.loads(str_dic)  #反序列化:将一个字符串格式的字典转换成一个字典
#注意,要用json的loads功能处理的字符串类型的字典中的字符串必须由""表示
print(type(dic2),dic2)  #<class 'dict'> {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}

list_dic = [1,['a','b','c'],3,{'k1':'v1','k2':'v2'}]
str_dic = json.dumps(list_dic) #也可以处理嵌套的数据类型
print(type(str_dic),str_dic) #<class 'str'> [1, ["a", "b", "c"], 3, {"k1": "v1", "k2": "v2"}]
list_dic2 = json.loads(str_dic)
print(type(list_dic2),list_dic2) #<class 'list'> [1, ['a', 'b', 'c'], 3, {'k1': 'v1', 'k2': 'v2'}]
2.用于文件读写:dump,load
import json
f = open('json_file.json','w')
dic = {'k1':'v1','k2':'v2','k3':'v3'}
json.dump(dic,f)  #dump方法接收一个文件句柄,直接将字典转换成json字符串写入文件
f.close()
json文件也是文件,就是专门存储json字符串的文件。
f = open('json_file.json')
dic2 = json.load(f)  #load方法接收一个文件句柄,直接将文件中的json字符串转换成数据结构返回
f.close()
print(type(dic2),dic2)

二.pickle模块
pickle模块也是对所有对象进行格式化转换传输,是python自带的模块(只有python可以使用)
用法:和json模块相同,两组四个方法

1.dumps loads用法
import pickle
lst = [12,13,1,4,899]
t_list = pickle.dumps(lst) #转换成类似的字节
print(t_list) #b'\x80\x03]q\x00(K\x0cK\rK\x01K\x04M\x83\x03e.'
print(pickle.loads(t_list)) #转换回来

dic = {'user':'大眼睛'}
t_list = pickle.dumps(dic)
print(t_list) #b'\x80\x03}q\x00X\x04\x00\x00\x00userq\x01X\t\x00\x00\x00\xe5\xa4\xa7\xe7\x9c\xbc\xe7\x9d\x9bq\x02s.'
print(pickle.loads(t_list))

2.dump load 用法

import pickle
dic = {'user':'dayanjing'}
dic1 = {'user':'大眼睛'}
pickle.dump(dic,open('info','wb'))
print(pickle.load(open('info','rb')))

import pickle
dic = {'user':'123'}
pickle.dump(dic,open('info','ab'))

dumps loads 的用法
import pickle
dic = {'user':'456'}
f = open('info','wb')
s = '\n'.encode('utf-8')
f.write(pickle.dumps(dic)+s)
f.write(pickle.dumps(dic)+s)
f.write(pickle.dumps(dic)+s)
f.close()

f1 = open('info','rb')
for i in f1:
    print(pickle.loads(i))

注意:相对于pickle更推荐使用json,因为json是所有语言通用的

os模块
os模块:是程序员通过python向操作系统发送指令
os模块有四组:
1.工作目录

import os
print(os.getcwd()) #当前工作路径
os.chdir('D:\python\第二模块\day03') #切换工作路径
print(os.curdir) #当前 .
print(os.pardir) #父级

2.文件夹

import os
os.mkdir('ddd') #在当前目录下创建一个文件夹
os.rmdir('ddd') #在当前目录下删除一个文件夹
os.makedirs('ddd/sss/ttt/eee') #在当前目录下递归创建文件夹
os.removedirs('ddd/sss/ttt/eee') #在当前目录下递归删除文件夹

3.文件

import os
os.rename('info','ddd') #修改名字
os.remove('ddd') #删除文件

4.路径

import os
print(os.path.abspath(r'模块.py')) #通过相对路径获取绝对路径
print(os.path.dirname(os.path.dirname(__file__))) #获取路径

sys模块

sys模块是与python解释器交互的接口
只需掌握
import sys
sys.path # 自定义模块的路径
sys.path.append('') #添加你需要用到的路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值