• python学习笔记(12)---(内置模块)


    目录

    第十章  内置模块

    1.math模块

    2.random模块

    3.os模块和os.path模块

    4.sys模块

    5.UUID模块

    6.时间日期模块

    7.加密模块hashlib:接受传入内容,计算后得到hash值


    第十章  内置模块

    1.math模块

    (1)查看方法:

    1. import math
    2. print(dir(math))

    (2)常用方法:

    2.random模块

    (1)查看:print(dir(random))

    (2)例:seed()方法改变随机数的生成器种子,可以在调用时使用

    1. import random
    2. random.seed()
    3. print('默认:',random.random())
    4. print('默认:',random.random())
    5. random.seed(10)
    6. print('使用10作为种子数:',random.random())
    7. print('使用10作为种子数:',random.random())
    8. random.seed('hello',2)
    9. print('字符串',random.random())

    (3)random(a,b):返回一个随机整数N,满足:a<=N<=b

    (4)random.sample(range(0,20),10):返回范围内的指定个数的随机列表

    3.os模块和os.path模块

    • 作用:用于python整理文件及目录,os.path是其子模块
    • 目录也称为文件夹,用于分层保存管理文件
    • os模块与操作系统有关,系统不同,返回结果不同
    1. import os
    2. print(os.name)
    3. # nt nt为windows系统,linux与mac为posix

    (1)路径:定位一个文件或目录的字符称为路径

    • 绝对路径:当前目录开始访问
    • 相对路径:文件的实际路径,一般从盘符号或根目录(\)开始访问
    1. 例:显示相对和绝对路径
    2. import os
    3. print(os.getcwd()) # 获取当前的工作目录
    4. print(os.path.abspath('sss46.py')) # 获取某文件的绝对路径

    (2)判断目录是否存在

    格式:os.path.exsts(path)

    • path:判断文件的路径,推荐绝对路径
    • 文件存在返回True,不存在返回False
    1. import os
    2. print(os.path.exists('c:\demo')) # 判断目录 False
    3. print(os.path.exists(r'd:\pythontest')) # 判断文件 True

    (3)目录的创建

    • 创建一级目录:os.mkdir(path)

    PS:一般用于创建指定路径的最后一级目录,上级目录不存在则抛出异常,被创建目录已存在也会抛出异常

    例:创建一个demo目录

    1. import os
    2. os.mkdir(r'd:\demo')
    3. PS:上例再次执行会报错,由于目录已存在会抛出异常,所以一般会和判断目录是否存在的函数一同使用,应改为:
    4. import os
    5. path = 'c:\\demo'
    6. if not os.path.exists(path):
    7. os.mkdir(path)
    8. else:
    9. print('目录已存在')
    • 创建多级目录(递归目录):os.makedirs(path)
    1. import os
    2. os.makedirs(r'd:\t1\t2\t3\t4')

    例:批量创建24个递归目录

    1. import os
    2. os.mkdir('c:\\demo')
    3. for i in range(1,25):
    4. if not os.path.exists('c:\\demo\\第{}次课'.format(i)):
    5. os.mkdir('c:\\demo\\第{}次课'.format(i))

    (4)目录的删除

    格式:os.rmdir(path)

    PS:只有删除被删除的目录为空时,才可以被删除

    例:

    1. import os
    2. for i in range(1,25):
    3. os.rmdir(r'd:\de\第{}次课'.format(i))
    • 可以用shutil.rmtree()函数删除不为空的目录

    删除文件:os.remove(path)

    (5)文件或目录的重命名

    格式:os.rename(’src’,’dst’)

    • src:制定需要重命名的文件或目录
    • dst:新名称
    1. import os
    2. os.mkdir('c:\\demo')
    3. os.rename('c:\\demo','c:\\demo1')

    PS:重命名的目录或文件不存在会抛出异常,一般需要和判断目录是否存在一同使用

    (6)获取文件信息

    • 获取文件的访问时间,修改时间,大小等信息
    • 格式:os.stat(path)
    1. import os
    2. print(os.stat(r'd:\pythontest\sss46.py'))

    (7)常见的os模块方法汇总

    (8)os.path模块常用方法:

    4.sys模块

    (1)作用:用于和python运行时设置资源和配置,与当前程序交互使用

    (2)常见方法:

    (3)示例:

    1. import sys
    2. a = 2
    3. if a <= 2:
    4. sys.exit(8) # 退出python的程序执行
    5. print(a)
    6. import sys
    7. print(sys.version)
    8. # 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)]
    9. import sys
    10. aa = sys.stdin.readline() # sys.stdin.readline()比input()多接受一个\n
    11. bb = input('请输入:')
    12. print(len(aa))
    13. print(len(bb))
    14. # china
    15. # 请输入:china
    16. # 6---多了个\n(回车)
    17. # 5

    5.UUID模块

    (1)概念:通用唯一标识符,对于硬件保证其在空间和时间上唯一,一般为32B(16进制表示)

    (2)python提供UUID1、3、4、5个版本的UUID

    (3)示例:

    1. import uuid
    2. name = 'test_name'
    3. namepace = uuid.NAMESPACE_DNS
    4. a = uuid.uuid1() # 基于时间戳
    5. print(a, type(a))
    6. b = uuid.uuid3(namepace, name) # 基于MD5的散列值
    7. print(b, type(b))
    8. c = uuid.uuid4() # 基于随机数
    9. print(c,type(c))
    10. d = uuid.uuid5(namepace,name) # 基于名称的SHA-1散列值
    11. print(d,type(d))
    12. # a003c11f-601a-11ed-955e-005056c00008
    13. # 7e9fc176-3b19-394a-9530-83391161f8e9
    14. # 2eaeb226-9737-4849-9768-242046b0e197
    15. # ad85ae8c-f638-56e0-b9fc-5d7a58009f62

    6.时间日期模块

    (1)time模块:提供格式化时间,一般用于爬虫

    1. import time
    2. t = time.time()
    3. print('当前时间戳为:', t)
    4. ltime = time.localtime()
    5. print('本地时间为:',ltime) # 元组显示格式
    6. # 格式化时间
    7. print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))
    8. # 2022-11-09 18:46:01
    9. print(time.strftime('%a %b %d %H:%M:%S %Y',time.localtime()))
    10. # Wed Nov 09 18:46:01 2022

    (2)datatime模块:处理时间

    1. import datetime as dt
    2. x = dt.date(2022,11,9) # yyyy-mm-dd
    3. y = dt.time(6,49,55,10)
    4. z = dt.datetime(2022,11,9,6,50,2)
    5. a = dt.timedelta(3,2,1,6)
    6. print(x,y,z,a,sep='\n')
    7. # 2022-11-09
    8. # 06:49:55.000010
    9. # 2022-11-09 06:50:02
    10. # 3 days, 0:00:02.006001

    (3)calendar模块:日历模块

    • 常用方法

    1. import calendar
    2. print(calendar.calendar(2022)) # 全年日历
    3. print(calendar.month(2022, 12)) # 指定某年某月日历
    4. print(calendar.isleap(2022)) # 返回某年是否是闰年
    5. print(calendar.weekday(2022,11,9)+1) # 返回某年某月某日是星期几

    7.加密模块hashlib:接受传入内容,计算后得到hash值

    1. import hashlib
    2. obj = hashlib.md5() # 创建一个hsah对象
    3. obj.update('hello world'.encode('UTF-8')) # 返回hash值
    4. t = obj.hexdigest() # 返回加密串
    5. print(t) # 5eb63bbbe01eeed093cb22bb8f5acdc3
  • 相关阅读:
    英语词典缩略词
    linux中busybox与文件系统的关系
    [附源码]计算机毕业设计JAVA卡牌交易网站
    使用 Python 进行测试(6)Fake it...
    人工智能AI浪潮的掀起,打工人何去何从?
    [图文教程]如何不买苹果电脑来体验类Unix的感觉呢?Linux装机初体验,manjaro笔记本电脑,爆改Windows笔记本
    【Java】JDBC基础使用教程
    DDD-如何集成限界上下文和应用服务的使用
    [大三上20231016]JavaEE SpringBoot
    web中间件漏洞-Jenkins漏洞-弱口令、反弹shell
  • 原文地址:https://blog.csdn.net/weixin_62443409/article/details/128130530