• Python基础学习(11)常用模块



    Python基础学习(1)基本知识
    Python基础学习(2)序列类型方法与数据类型转换
    Python基础学习(3)进阶字符串(格式化输出)
    Python基础学习(4)散列类型(无序序列)
    Python基础学习(5)流程控制
    Python基础学习(6)函数基础与函数参数
    Python基础学习(7)函数作用域与名称空间.
    Python基础学习(8)函数进阶-闭包/装饰器
    Python基础学习(9)迭代器/生成器

    一、time

    python提供的内置模块 主要提供了时间 日期

    import time
    
    # 格林威尔时间戳 1970-1-1到现在的秒数
    print(time.time())#用于做差
    
    #让程序进行休眠
    time.sleep(2)
    print('我休息了2秒钟')
    
    #获取当前的详细时间(以元组的形式)
    res=time.localtime()
    print(res)
    
    # 将当前的时间格式化
    print(time.asctime(time.localtime()))
    
    # 获得指定的当前日期 并且格式化为字符串
    # 年月日 星期几
     res_1 = time.strftime('%Y/%m/%d %A', time.localtime())
    print(res_1)
    
    # 时分秒 上午/下午
    res_2 = time.strftime('%H:%M:%S %p', time.localtime())
    pri	nt(res_2)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    二、random

    主要获得随机数的功能

    可以通过随机模块 可以做一些小项目 猜拳 斗地主 验证码 抽奖等等

    import random
    
    # 生成一个大于0并且小于1的随机数
    a = random.random()
    print(a)
    print('%.1f'%a)
    
    # 获得指定范围之间的随机整数 必须是整数 第一个值要比第二值小
    b = random.randint(1,10)#包括1和10
    print(b)
    
    # 获得指定范围之间的随机小数 取决于四舍五入 第一个不一定要比第二个值小
    c = random.uniform(2.5, 10)
    print(c)
    print('%.1f'%c)
    
    # 在列表里随机抽取 列表元组有序  无序类型不行
    ll = [1, 2, 3, 5, 6, 8, 7, 9, 5]
    d=random.choice(ll)
    print(d)
    
    # 打乱列表顺序 俗称洗牌 列表可以改变
    ll = [1, 2, 3, 5, 6, 8, 7, 9, 5]
    random.shuffle(ll)
    print(ll)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    三、os

    主要运行在操作系统上的相关信息

    #os.system 运行cmd命令 关机 打开计算器 cmd 画图工具
    os.system('start cmd') #打开cmd
    os.system('start calc')#打开计算器
    os.system('start osk') #打开屏幕键盘,
    os.system('start mspaint') #打开画图工具
    
    #获得当前文件所在路径目录
    print(os.getcwd())
    
    # 在当前路径新建文件夹 已经存在会报错
    os.mkdir('text')
    
    # 删除文件夹 只能删除空白文件夹
    os.rmdir('text')
    
    # 对文件进行重命名
    os.rename('text','texe2')
    
    # 判断当前路径文件是否存在 返回布尔类型
    print(os.path.exists('main.py'))
    # 将散列的部分组成一个完整路径
    # 别人给你了几个路径或者文件名
    # Python_116  Day15 os模块.py
    print(os.path.join('Python_116', 'Day15', 'os模块.py'))
    
    # 组成路径 并不是真实的路径后期你们可以自己组成真实存在的路径 只是说这个方法可以组成路径
    
    # 对路径去掉文件名(返回父路径)
    print(os.path.dirname('Python_116\Day15\os模块'))
    
    # 对原有的路径进行重新组成(嵌套)
    print(os.path.join(os.path.dirname('Python_116\Day15\os模块.py'), 'os.py'))
    
    # 去掉路径获得文件名
    print(os.path.basename('Python_116\Day15\os模块.py'))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    四、sys

    sys 主要用于获得python解释器的相关信息

    import sys
    
    #获得项目与环境位置
    print(sys.path)
    
    # 获得当前文件位置
    print(sys.argv)
    
    # 获取当前python版本信息
    print(sys.version)
    
    # 获取当前python操作系统
    print(sys.platform)
    # win32架构 大部分都是win32
    # 解释器 服务器基于win32
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    五、json

    json 模块是 Python 标准库中的一个模块,用于处理 JSON(JavaScript Object Notation)数据格式。JSON 是一种轻量级的数据交换格式,常用于前后端数据传输、配置文件等场景。

    json存储数据都是为序列化数据
    序列化:计算机底层所识别的机器码
    反序列化:我们能够看懂的数据

    json 模块提供了一组函数,用于在 Python 中解析 JSON 数据(将 JSON 字符串解析为 Python 对象)和序列化 Python 对象(将 Python 对象转换为 JSON 字符串)。以下是 json 模块的几个主要功能:

    1. 将 Python 对象转换为 JSON 字符串json.dumps() 函数可以将 Python 对象(如字典、列表等)转换为对应的 JSON 格式的字符串。
    import json
    
    data = {"name": "Alice", "age": 30}
    date_2='我是好人'
    json_str = json.dumps(data)
    json_str_2=json.dumps(data_2)
    print(json_str_2)
    print(json_str)
    ->>"\u6211\u662f\u597d\u4eba"
    ->>{'name': 'Alice', 'age': 30}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    1. 将 JSON 字符串转换为 Python 对象json.loads() 函数可以将 JSON 格式的字符串转换为对应的 Python 对象(如字典、列表等)。
    import json
    
    json_str = '{"name": "Alice", "age": 30}'
    data = json.loads(json_str)
    print(data)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 读写 JSON 文件json 模块还提供了 json.dump()json.load() 函数,用于将 Python 对象写入 JSON 文件和从 JSON 文件中读取数据。
    import json
    
    data = {"name": "Alice", "age": 30}
    
    # 写入 JSON 文件
    with open("data.json", "w") as f:
        json.dump(data, f)
    
    # 从 JSON 文件中读取数据
    with open("data.json", "r") as f:
        loaded_data = json.load(f)
        print(loaded_data)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    通过 json 模块,你可以方便地在 Python 中处理 JSON 格式的数据,实现数据的序列化和反序列化,以及与其他系统进行数据交换。

    补充1:JSON字符串

    JSON(JavaScript Object Notation)字符串是一种轻量级的数据交换格式,通常用于在不同系统之间传输和存储数据。JSON 字符串由一系列 Unicode 字符组成,采用类似于 JavaScript 对象的语法,具有以下特点:

    1. 键值对形式:JSON 字符串由键值对构成,键和值之间使用冒号分隔,不同键值对之间使用逗号分隔。键必须是字符串,值可以是字符串、数字、布尔值、对象、数组或 null。

    2. 数据结构:JSON 字符串支持嵌套的对象和数组结构,可以构建复杂的数据结构。对象使用花括号 {} 表示,数组使用方括号 [] 表示。

    3. 易读性:JSON 字符串具有良好的可读性,便于人类阅读和编写。通常采用缩进格式化,使数据结构更加清晰。

    例如,下面是一个简单的 JSON 字符串示例:

    {
        "name": "Alice",
        "age": 30,
        "is_student": true,
        "courses": ["Math", "Science"],
        "address": {
            "street": "123 Main St",
            "city": "Cityville"
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    补充2:JSON字符串和字典的区别

    JSON 字符串和 Python 字典之间有一些区别,尽管它们在表现形式上有些相似,但是在一些细节上有一些区别:

    1. JSON 字符串是一种数据交换格式,而字典是 Python 中的数据结构

      • JSON 是一种独立于编程语言的数据交换格式,通常用于在不同系统之间传输数据。在 Python 中,可以使用 json 模块来处理 JSON 数据。
      • 字典是 Python 中的一种数据结构,用于存储键值对。字典是 Python 的内置数据类型,用于在程序中组织和管理数据。
    2. JSON 字符串是文本,而字典是 Python 的数据结构

      • JSON 字符串是由文本字符组成的字符串,通常用于数据的序列化和反序列化。
      • 字典是 Python 中的数据结构,具有键值对的组织形式,可以直接在 Python 中使用。
    3. JSON 字符串需要遵循特定的格式,而字典在 Python 中有自己的语法

      • JSON 字符串需要遵循 JSON 标准的语法规则,如键名必须是双引号括起来的字符串。
      • 字典在 Python 中使用花括号 {} 表示,键值对之间使用冒号 : 分隔,不需要特定的引号。

    虽然 JSON 字符串和 Python 字典在某种程度上有相似之处,但它们的用途和特性是不同的。在 Python 中,可以通过 json 模块来处理 JSON 数据,将 JSON 字符串转换为 Python 对象(如字典),或者将 Python 对象序列化为 JSON 字符串。这使得 Python 在处理跨系统数据交换时更加灵活和方便。

    在 Python 中,可以使用 json 模块将 JSON 字符串解析为 Python 对象,或者将 Python 对象序列化为 JSON 字符串,方便数据的处理和交换。JSON 字符串在 Web 开发、API 接口、配置文件等领域被广泛应用,是一种通用的数据格式。

    六、hashlib

    哈希模块:
    哈希是一种规则 可以接收一个数据 来生成一个哈希数据 作用主要是数据加密

    特点:
    1.传入的内容是一样 hash值也是一样
    2.hash值正常情况下 破解难度较大
    3.不管传的数据/文件多大多长 最后得到的哈希值长度只有32位
    注册登录的原理就是用到了哈希
    注册 --> 输入密码 2. 哈希加密 3.得到哈希值 4.保存哈希值
    登录 --> 输入密码 2. 哈希加密 3.得到哈希值 4.匹配哈希值

    wifi破解 --> 笨蛋方法,找一个密码字典(记录了很多常用的密码的文本)
    拿里面的密码一个个去尝试 --> 密码简单 常见

    那么我现在觉得这个密码有风险我现在就给他加了点东西 123456+‘多喝热水’
    生成的哈希值就是基于123456多喝热水 生成的 而不是123456
    如果你用单纯的123456来破 是破解不了的

    import hashlib
    a = hashlib.md5('多喝热水'.encode())#哈希算法只能接受字节序列
    print(a) # 哈希对象
    print(type(a))
    # 现在还不算一个哈希值
    # 把哈希值赋值给新的数据
    # 数据分块
    data_chunk1 = "Hello, "
    data_chunk2 = "world!"
    
    # 逐步添加数据并更新哈希对象
    a.update(data_chunk1.encode())
    a.update(data_chunk2.encode())#update作用于字典
    b = a.hexdigest()#转化十六机制增强可读性
    print(b)
    print(len(b))
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18



    44b1ff2ece9911c1b503da6436ea0310
    32

  • 相关阅读:
    如何优雅的删除Oracle数据库中的超大表
    Node.js学习笔记
    Scala 数据类型
    根据基站位置区识别码(LCA)和小区识别(CI)获取经纬度
    中移链(基于EOS)DDC-SDK实战-如何集成中移链DDC-SDK
    html结构
    『现学现忘』Git后悔药 — 28、版本回退git reset --soft命令说明
    【ROS】机器人使用Nomachine进行远程控制
    【Linux篇】第六篇——Linux下的进程(冯若依曼体系结构+操作系统+进程相关内容)
    想做好接口测试,先把这些概念搞清楚了
  • 原文地址:https://blog.csdn.net/Appppiiiiggg/article/details/136584560