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

目录

第十章  内置模块

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 sys

a = 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 <class 'uuid.UUID'>
# 7e9fc176-3b19-394a-9530-83391161f8e9 <class 'uuid.UUID'>
# 2eaeb226-9737-4849-9768-242046b0e197 <class 'uuid.UUID'>
# ad85ae8c-f638-56e0-b9fc-5d7a58009f62 <class 'uuid.UUID'>

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 hashlib

obj = hashlib.md5()  # 创建一个hsah对象
obj.update('hello world'.encode('UTF-8'))  # 返回hash值
t = obj.hexdigest()  # 返回加密串
print(t)  # 5eb63bbbe01eeed093cb22bb8f5acdc3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨天_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值