zoukankan      html  css  js  c++  java
  • python--内置模块02

    一. namedtuple

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

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

    二. 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", "175")
    # # 序列化
    bs = pickle.dumps(e) # 把对象进行序列化
    print(bs) # b'x80x03c__main__
    Elephant
    qx00)x81qx01}q
    # x02(Xx04x00x00x00nameqx03Xx06x00x00x00xe5xaex9d
    # xe5xaex9dqx04Xx06x00x00x00weightqx05Xx04x00x00
    # x00185Tqx06Xx06x00x00x00heightqx07Xx03x00x00x00175qx08ub.'
    
    # # 反序列化
    dx = pickle.loads(bs) # 反序列化. 得到的是大象
    dx.tiaoxi()
    
    e1 = Elephant("宝宝", "185T", "175")
    e2 = Elephant("宝贝", "120T", "120")
    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)
    复制代码
  • 相关阅读:
    Elementary Methods in Number Theory Exercise 1.2.25
    Elementary Methods in Number Theory Exercise 1.2.14
    图解欧几里德算法
    图解欧几里德算法
    Elementary Methods in Number Theory Exercise 1.2.14
    Android中的长度单位详解(dp、sp、px、in、pt、mm)
    分享下多年积累的对JAVA程序员成长之路的总结
    android异常之都是deamon惹的祸The connection to adb is down, and a severe error has occured.
    TomatoCartv1.1.8.2部署时报错
    JavaScript浏览器对象之二Document对象
  • 原文地址:https://www.cnblogs.com/uiys/p/10673192.html
Copyright © 2011-2022 走看看