一. 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. jenkins发送生成的html报告作为邮件附件,但无内容的问题分析

  2. JDK动态代理(3)--------动态代理具体实现

    写个HelloWorld 接口 package com.spring.aop.proxy; public interface HelloWorld { public void sayHello(); ...

  3. 【转】【强化学习】Deep Q Network(DQN)算法详解

    原文地址:https://blog.csdn.net/qq_30615903/article/details/80744083 DQN(Deep Q-Learning)是将深度学习deeplearni ...

  4. 极其好用好学的规则引擎 - A2D规则引擎

    写了个简单的规则引擎,普通情况够用了: 比如2家公司有各自的利率计算规则,如下: 在C#方面,没有写在C#的业务逻辑代码中,而是移到了外部规则文件中,如(ACompanyRatePolicy.r): ...

  5. Bing.com在.NET Core 2.1上运行!

    Bing.com在.NET Core 2.1上运行! 相关知识请参考.netCore开发团队博客(https://blogs.msdn.microsoft.com/dotnet/) Bing.com是 ...

  6. 朱晔的互联网架构实践心得S1E2:屡试不爽的架构三马车

    朱晔的互联网架构实践心得S1E2:屡试不爽的架构三马车 [下载本文PDF进行阅读] 这里所说的三架马车是指微服务.消息队列和定时任务.如下图所示,这里是一个三驾马车共同驱动的一个立体的互联网项目的架构 ...

  7. LeetCode 832. Flipping an Image

    Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resu ...

  8. CSS scroll-behavior属性: 滚动框指定滚动行为

    概念 当用户手动导航或者 CSSOM scrolling API 触发滚动操作时,CSS 属性 scroll-behavior 为一个滚动框指定滚动行为,其他任何的滚动,例如那些由于用户行为而产生的滚 ...

  9. hdu3294(马拉车模板)

    注意:string会超时 #include<bits/stdc++.h> using namespace std; #define ll long long const double PI ...

  10. Gym 101873F Plug It In(二分图匹配)

    题目链接:http://codeforces.com/gym/101873/problem/F 题意:有n个插孔,m个机器,和一个插板,一个插孔可以连接一个机器,插板可以使一个插孔连接三个机器,找到最 ...