操作文件和目录、序列化
1.通过os模块和os.path模块可以清楚的了解自己的Python模块
2.通过语句os.name查询自己电脑的操作系统
3.os.environ语句可以查询所有的环境配置,os.environ.get('key')查询某个环境变量
4.os.path.abspath('.')语句查询当前目录的所有文件和目录
5.os.path.split()和os.path.splitext()以及os.path.join()语句将路径拆开合并
6.os.rename()和os.remove()修改文件的名字和删除文件的名字
7.序列化就是把变量从内存中变成可存储可传输的过程,在Python中叫做pickle
8.将变量从对象中读到内存的过程就被称为反序列化
9.将对象序列化写入文件
第一步先导入import pickle语句
再创建一个字典,最后将字典变量传入pickle.dumps()函数输出
10.pickle.dumps()函数将任意对象序列化成bytes
12.pickle.loads()函数将可读变量反序列化为对象
13.由于由于多语言之间需要传递对象,必须把对象序列化为标准格式,Python提供了一种模式那就是JSON
它可以讲不同Python与JS联系在一起传递对象
14.当进行序列化的时候我们通常通过类来实现
这时需要定以初始化类的函数,
import json class Student(object)" def __init__(self,name,age,score): self.name = name self.age = age self.score = score s = Student('Bean',20,88) print(json.dumps(s))
以及在类外定义一个序列化函数,将数据传进去。再设置可选参数default将方法名传入输出语句的json.dumps()里面
def student2dict(std): retuern{ 'name':std.name, 'age':std.age, 'score':std.score }
15.如果是多类序列化的时候,我们需要将任意类改为dict
print(json.dumps(s,default = lambda:obj obj.__dict__ ))
16.如果需要反序列化为Student对象,可以通过loads()函数转换成一个dict
def dict2student(d): return Student(d['name'],d['age'],d['score'])
print(json.loads(json_str,object_hook = dict2student))
通过函数object_hook函数将dict转换为对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!