一. namedtuple

  命名元组->类似创建了一个类

from collections import namedtuple
# 类
p = namedtuple("Point", ["x", "y"])
# 对象
p1 = p(10, 20)
print(p1) # Point(x=10, y=20)
print(p1.x) #
print(p1.y) #

二. os

  主要是针对操作系统的
  一般用来操作文件系统
  os.makedirs()可以一次性创建多级目录
  os.rmdir()删除一个文件夹
  os.path.dirname() 获取到文件的文件夹

import os
# os.makedirs("金庸/笑傲江湖/令狐冲") # 可以一次性创建多级目录 # os.rmdir("金庸/笑傲江湖/令狐冲") # 指定文件夹删除 前提需要令狐冲文件夹是空的 # t = os.path.dirname(r"D:\python_workspace_s18\练习用的 \江湖")
# print(t) # D:\python_workspace_s18\练习用的

三 . sys

  主要针对的是我们的python解释器
  sys.path(重点中的重点) 模块的查找路径

import sys
print(sys.path) # 找模块的. 必须要记住. 模块的搜索路径
# sys.path.append("D:\\python_workspace_s18\\day21 继承") # 添加新的查找位置
import world # world是自定义的pythonfile
# world.kungfu() # 先找'D:\\python_workspace_s18\\练习用的' ,再找 'D:\\python_workspace_s18'

四 . 序列化

  把一个对象拍散 叫序列化
  把拍散的内容整合回对象. 反序列化

五 . pickle(重点)

  把一个对象进行序列化操作
  1. dumps() 把对象序列化成字节
  2. loads() 把字节反序列化成对象

  3. dump() 把对象序列化写入文件
  4. load() 把文件中的内容反序列化成对象

import pickle
#
class Elephant:
def __init__(self, name, weight, height):
self.name = name
self.weight = weight
self.height = height
def tiaoxi(self):
print(f"{self.name}大象特别喜欢调戏人") e = Elephant("宝宝", "185T", "")
# # 序列化
bs = pickle.dumps(e) # 把对象进行序列化
print(bs) # b'\x80\x03c__main__\nElephant\nq\x00)\x81q\x01}q\
# x02(X\x04\x00\x00\x00nameq\x03X\x06\x00\x00\x00\xe5\xae\x9d\
# xe5\xae\x9dq\x04X\x06\x00\x00\x00weightq\x05X\x04\x00\x00\
# x00185Tq\x06X\x06\x00\x00\x00heightq\x07X\x03\x00\x00\x00175q\x08ub.' # # 反序列化
dx = pickle.loads(bs) # 反序列化. 得到的是大象
dx.tiaoxi() e1 = Elephant("宝宝", "185T", "")
e2 = Elephant("宝贝", "120T", "")
lst = [e1, e2]
pickle.dump(lst, open("大象", mode="wb"))
# 读
lst = pickle.load(open("大象", mode="rb"))
for dx in lst:
dx.tiaoxi()

  

六 . json(重点中的重点)

  json你可以认为是python中的字典. 有一点点的不一样
  python: True, False, None
  json: true, false, null

  1. dumps() 把对象序列化成json
  2. loads() 把json反序列化成对象

  3. dump() 把对象序列化写入文件
  4. load() 把文件中的内容反序列化成对象

import json

dic = {"baby":None, "hxm":False, "syy":"史杨杨"}
#
s = json.dumps(dic, ensure_ascii=False) # json处理中文的问题
print(s) # {"baby": null, "hxm": false, "syy": "史杨杨"} d = json.loads('{"baby": null, "hxm": false, "syy": "史杨杨"}')
print(d['baby']) # None f = open("baby.json", mode="w", encoding="utf-8")
json.dump({"baby":None, "hxm":False, "syy":"史杨杨"}, f, ensure_ascii=False) f = open("baby.json", mode="r", encoding="utf-8")
obj = json.load(f)
print(obj)

  

python之路--内置模块02的更多相关文章

  1. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  2. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  3. python之路,Day24 常用设计模式学习

    python之路,Day24 常用设计模式学习   本节内容 设计模式介绍 设计模式分类 设计模式6大原则 1.设计模式介绍 设计模式(Design Patterns) --可复用面向对象软件的基础 ...

  4. python 之路,Day11(上) - python mysql and ORM

    python 之路,Day11 - python mysql and ORM   本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 ...

  5. Python 入门之 内置模块 -- os模块

    Python 入门之 内置模块 -- os模块 1.os os是和操作系统做交互,给操作发指令 os模块是与操作系统交互的一个接口,它提供的功能多与工作目录,路径,文件等相关 (1)工作路径 prin ...

  6. Python之路-numpy模块

    这里是首先需要安装好Anaconda Anaconda的安装参考Python之路-初识python及环境搭建并测试 配置好环境之后开始使用Jupyter Notebook 1.打开cmd,输入 jup ...

  7. python之路(dingo 框架)

    Python之路  转载自QIMI老师  Python之路 第一篇:Python基础 PyCharm使用秘籍免费视频教程v3 ... 迭代器生成器 模块和常用内置模块 面向对象 面向对象进阶 网络编程 ...

  8. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  9. Python之路

    Python学习之路 第一天   Python之路,Day1 - Python基础1介绍.基本语法.流程控制              第一天作业第二天   Python之路,Day2 - Pytho ...

随机推荐

  1. P1101 单词方阵 (单词方阵)

    思路:就是白白的模拟 #include<iostream> using namespace std; ][]; ][]; char kk[] = "yizhong"; ...

  2. Python:Day25 成员修饰符、特殊成员、反射、单例

    一.成员修饰符 共有成员 私有成员,__字段名,__方法 - 无法直接访问,只能间接访问 class Foo: def __init__(self,name,age): self.name = nam ...

  3. sqlplus编译失效对象

    原文整理自:http://www.51testing.com/?uid-16403-action-viewspace-itemid-98161:http://www.eygle.com/archive ...

  4. 初学Python——文件操作第三篇

    一.引言 什么?有了第二篇文件操作还不够?远远不够!而且在读完第三篇文件操作还是不够.关于文件的操作,后续的学习中将不断学习新的操作方式,使用更加合适的方法. 进入正题,上一篇讲到,Python对文件 ...

  5. sklearn 模型选择和评估

    一.模型验证方法如下: 通过交叉验证得分:model_sleection.cross_val_score(estimator,X) 对每个输入数据点产生交叉验证估计:model_selection.c ...

  6. redis学习(三)——List数据类型

    一.概述      在Redis中,List类型是按照插入顺序排序的字符串链表.和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素.在插入时,如果该键并不存在,R ...

  7. MySQL常用SQL语句/函数/存储过程

    一句话总结 SELECT count(*) FROM user WHERE id>0 GROUP BY name HAVING count(*)>1 ORDER BY count(*)DE ...

  8. VC++全屏

    Win32类型的全屏代码: 1. 去掉menu ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = s ...

  9. vue 饿了么项目笔记

    vue 饿了么项目 1.图标字体引用 链接 2.scss 二三倍图切换 1像素边框 链接 3.better-scroll 4.布局 商品主页面 <div id="app"&g ...

  10. Python-sys模块-61

    sys 模块:和Python解释器打交道的模块 sys模块是与python解释器交互的一个接口 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退 ...