python学习笔记(12)---(内置模块)
创始人
2024-03-07 07:32:52
0

目录

第十章  内置模块

1.math模块

2.random模块

3.os模块和os.path模块

4.sys模块

5.UUID模块

6.时间日期模块

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


第十章  内置模块

1.math模块

(1)查看方法:

import math
print(dir(math))

(2)常用方法:

2.random模块

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

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

import random
random.seed()
print('默认:',random.random())
print('默认:',random.random())
random.seed(10)
print('使用10作为种子数:',random.random())
print('使用10作为种子数:',random.random())random.seed('hello',2)
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模块与操作系统有关,系统不同,返回结果不同
import os
print(os.name)
# nt  nt为windows系统,linux与mac为posix

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

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

(2)判断目录是否存在

格式:os.path.exsts(path)

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

(3)目录的创建

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

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

例:创建一个demo目录

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

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

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

(4)目录的删除

格式:os.rmdir(path)

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

例:

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

删除文件:os.remove(path)

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

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

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

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

(6)获取文件信息

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

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

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

4.sys模块

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

(2)常见方法:

(3)示例:

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

5.UUID模块

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

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

(3)示例:

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

6.时间日期模块

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

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

(2)datatime模块:处理时间

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

(3)calendar模块:日历模块

  • 常用方法

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

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

import hashlibobj = hashlib.md5()  # 创建一个hsah对象
obj.update('hello world'.encode('UTF-8'))  # 返回hash值
t = obj.hexdigest()  # 返回加密串
print(t)  # 5eb63bbbe01eeed093cb22bb8f5acdc3

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...