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

news2024/11/23 13:42:15

目录

第十章  内置模块

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/51347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BERT-of-Theseus

最近了解到一种称为"BERT-of-Theseus"的BERT模型压缩方法&#xff0c;源自论文《BERT-of-Theseus: Compressing BERT by Progressive Module Replacing》。这是一种以"可替换性"为出发点所构建的模型压缩方案&#xff0c;相比常规的剪枝、蒸馏等手段&#…

【特征选择】基于教与学算法实现二进制特征选择问题附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

第二证券|汽车板块现涨停潮!多只地产债再涨到临停

在昨日大幅上涨后&#xff0c;今日上午A股商场持续上行&#xff0c;不过涨势放缓&#xff0c;到上午收盘&#xff0c;上证指数上涨0.21%。 昨日带动大市上行的地产板块今日上午涨势减缓&#xff0c;包含福星股份、世茂股份在内的多只地产股涨停。不过也有极少数地产股逆势跌落&…

容器化应用系统上生产的最佳实践

前言 最近忙的要死, &#x1f47b;&#x1f47b;&#x1f47b;. 上一周来了一次比 996 更猛的 907. 这周二终于有点遭不住了, 调休一天, 稍微歇息一下. 同时手痒的不行, 把筹备了好久的重磅文章发上来哈哈. &#x1f606;&#x1f606;&#x1f606; 不过时间还是有点仓促, …

自动化测试的生命周期是什么?

软件测试发展到今日&#xff0c;已经逐渐标准化且能力更强&#xff0c;其流程每天都在发展。测试人员的技术熟练程度对于整个测试阶段的成功来说至关重要。测试不再意味着仅仅发现错误&#xff1b;它的范围已经扩大&#xff0c;从任何开发项目开始就可以看出它的重要性。 当谈论…

[SpringMVC]第三篇:作用域传参

四大域: PageContext对象(不常用) 作用域范围:当前jsp页面内有效 request对象(经常用) 作用域范围:一次请求内。 作用: 解决了一次请求内的资源的数据共享问题 session对象(登录,会话时会用) 作用域范围:一次会话内有效。 说明:浏览器不关闭,并且后台的session不失效&#xff…

Python OpenCV 单目相机标定、坐标转换相关代码

前言 本文不讲原理&#xff0c;只关注代码&#xff0c;有很多博客是讲原理的&#xff0c;但是代码最多到畸变矫正就结束了&#xff0c;实际上就是到 OpenCV 官方示例涉及的部分。   在官方示例中使用黑白棋盘格求解了相机的内外参和畸变系数&#xff0c;并对图像做了畸变矫正…

【Android App】集成腾讯地图显示位置和地图面板讲解及实战(附源码和演示 超详细必看)

需要源码请点赞关注收藏后评论区留言私信~~~ 一、集成腾讯地图 之所以选用腾讯地图来讲解&#xff0c;是因为它的集成过程相对简单&#xff0c;无须通过App的签名鉴权&#xff0c;腾讯地图的开放平台网址为 腾讯地图 集成腾讯地图分为以下几步 &#xff08;1&#xff09;在…

Linux网络基础------TCP/UDP协议

文章目录TCP和UDP的宏观认识UDP协议TCP协议 &#xff08;绝对的核心重点&#xff09;tcp协议报头各个字段的详解tcp协议的机制超时重传机制连接管理机制3次握手4次挥手滑动窗口流量控制拥塞控制延迟应答捎带应答粘包问题TCP和UDP的宏观认识 首先&#xff0c; TCP/UDP是位于传输…

元宇宙竟然也难逃性骚扰???

当我们还沉浸在元宇宙里种种美妙的虚拟体验之时&#xff0c;竟接连传出 “虚拟性骚扰” &#xff08;virtual assault&#xff09;……去年 12 月&#xff0c;Metaverse Research 的联合创始人 Nina Jane Patel&#xff0c;在自己的 Blog 记录下她参与 Meta 元宇宙游戏《地平线…

学习响应式布局

针对性内容 页面设计在不同设备的显示情况布局只会使用float定位&#xff0c;而不会掌握flex不能很好的使用rem作为设计单位掌握响应式布局、弹性等常见布局 学习内容 css中媒体查询的作用和使用方法flex弹性盒子的用法rem的作用和使用方法目录 针对性内容 学习内容 Media…

第8章 自定义SwaggerIndex页与登录页

“Blog.Core-master”程序没有使用.Net7框架内置的index.html页对api方法进行渲染显示&#xff0c;而是通过对“Swagger”和“SwaggerUI”内置中间件的自定义操作&#xff0c;调用根目录下的自定义index.html页对api方法进行渲染显示。 1、自定义“Swagger”和“SwaggerUI”内…

[附源码]Python计算机毕业设计Django付费自习室管理小程序

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;我…

vue项目使用elementui上传组件 打包后报错t.upload.addEventListener is not a function的解决方案

今天和大家分享一个报错的解决方案 背景 项目打包部署到宝塔上后&#xff0c;打开网页&#xff0c;上传东西时出现了一个报错&#xff0c;但是在本地开发环境是没有问题的。 报错内容&#xff1a; 这个问题是因为mockjs改动了axios里面XMLHttpRequest对象从而导致报错。 解…

Java医院信息管理系统源码带文字安装教程

技术架构 技术框架&#xff1a;springboot shiro layui jquery thymeleaf nginx 运行环境&#xff1a;jdk8 mysql IntelliJ IDEA maven 宝塔面板 文字安装教程 下载源码&#xff0c;创建一个数据库&#xff0c;导入hospitaldata.sql文件至数据库中。 使用IDEA打开hosp…

Kotlin高仿微信-第29篇-朋友圈-发布作品(图片)

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点&#xff0c;包括&#xff1a;注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

GmNAC181促进结瘤并提高根瘤的耐盐性

文章信息 题目&#xff1a;GmNAC181 promotes symbiotic nodulation and salt tolerance of nodulation by directly regulating GmNINa expression in soybean 刊名&#xff1a;New Phytologist 作者&#xff1a;Xiaodi Wang&#xff0c;Youning Wang, Xia Li et al. 单位…

2022年NPDP新版教材知识集锦--【第四章节】(5)

《产品经理认证(NPDP)知识体系指南(第2版)》已于2022年4月正式上架发行&#xff0c;新版教材自2022年11月NPDP考试起使用。将新版NPDP教材中的相关知识点进行了整理汇总&#xff0c;包括详细设计与规格阶段相关内容&#xff0c;快来看看吧。 【详细设计与规格阶段】(全部获取文…

HCIP-路由01:路由基础

路由基础一 自治系统&#xff08;AS&#xff09;二. 入表&#xff08;路由表&#xff09;规则2.1 priority2.2 metric三. 选路规则&#xff08;掩码最长匹配原则&#xff09;四. 路由的负载分担五. 路由备份&#xff08;浮动路由&#xff09;六. 路由黑洞七. 路由黑洞的解决方法…

export default 和 export之间的区别

&#x1f388; export default 和 export 有什么区别&#xff1a; export 、export default&#xff0c;都属于ES6里面的语法 1. export与export default均可用于导出常量、函数、文件、模块等 2. 你可以在其它文件或模块中通过import(常量 | 函数 | 文件 | 模块)名的方式&a…