股权众筹网站开发/电话投放小网站
文章目录
- 一、 `os` 模块:文件和目录操作
- 二、 `sys` 模块:与Python解释器交互
- 三、 `datetime` 模块:日期和时间处理
- 四、 `json` 模块:处理JSON数据
- 五、 `re` 模块:正则表达式
- 六、 `time`模块
- 1. 获取当前时间
- 2. 延迟执行(休眠)
- 3. 执行时间的测量
- 4. 时间格式化
- 5. 时间戳与结构化时间转换
- 七、 `random`模块
- 1. 生成随机整数
- 2. 生成随机浮点数
- 3. 打乱列表顺序
- 4. 随机选择元素
- 5. 设置随机数种子
- 6. 随机分割列表
- 八、`math`模块
- 1. 常量
- 2. 幂和对数
- 3. 开方
- 4. 三角函数
- 5. 舍入函数
- 6. 阶乘
- 7. 最大值和最小值
- 九、`urllib`模块
- 1. `urllib.request` - 打开和读取 URL
- 2. `urllib.parse` - 解析 URL
- 3. `urllib.error` - 异常处理
- 4. `urllib.robotparser` - 读取和解析 robots.txt 文件
- 十、相关链接
Python标准库是Python编程语言自带的一系列模块和功能的集合,这些模块提供了各种常见任务的解决方案,如文件处理、网络编程、数据库接口、图形界面开发、科学计算等。使用标准库可以大大提高开发效率,减少重复劳动。
一、 os
模块:文件和目录操作
import os# 获取当前工作目录
current_directory = os.getcwd()
print("当前工作目录:", current_directory)# 更改工作目录
os.chdir("/path/to/new/directory")
print("新的工作目录:", os.getcwd())# 列出目录中的文件
files = os.listdir()
print("当前目录中的文件:", files)# 判断文件或目录是否存在
if os.path.exists("file.txt"):print("文件存在")# 创建新目录
os.mkdir("new_directory")# 删除文件
os.remove("file.txt")# 删除目录(需确保目录为空)
os.rmdir("new_directory")
二、 sys
模块:与Python解释器交互
import sys# 访问命令行参数
print("命令行参数:", sys.argv)# 退出程序
sys.exit("程序退出")# 标准输出和标准错误输出
print("这是标准输出")
sys.stderr.write("这是标准错误输出\n")
三、 datetime
模块:日期和时间处理
import datetime# 获取当前日期和时间
now = datetime.datetime.now()
print("当前日期和时间:", now)# 创建自定义日期和时间
custom_date = datetime.datetime(2023, 3, 15, 12, 30)
print("自定义日期和时间:", custom_date)# 计算两个日期之间的差值
delta = datetime.timedelta(days=5)
print("5天后的日期:", now + delta)# 格式化日期和时间
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("格式化后的日期:", formatted_date)
四、 json
模块:处理JSON数据
import json# Python对象转换为JSON字符串
data = {"name": "John Doe","age": 30,"city": "New York"
}
json_string = json.dumps(data)
print("JSON字符串:", json_string)# JSON字符串转换为Python对象
parsed_data = json.loads(json_string)
print("解析后的Python对象:", parsed_data)
五、 re
模块:正则表达式
import re# 匹配字符串中的数字
pattern = re.compile(r'\d+')
match = pattern.findall("The price is 123 dollars.")
print("找到的数字:", match)# 替换字符串中的模式
new_string = re.sub(r'\d+', '42', "The price is 123 dollars.")
print("替换后的字符串:", new_string)
六、 time
模块
time
模块是 Python 的标准库之一,用于处理时间相关的操作。你可以使用 time
模块来获取当前时间、执行时间的测量、延迟执行等。下面是一些 time
模块的常见用法和案例代码:
1. 获取当前时间
import time# 获取当前时间戳(以秒为单位的浮点数)
current_time = time.time()
print("Current time in seconds:", current_time)# 格式化时间戳为本地时间
local_time = time.localtime(current_time)
print("Local time:", local_time)# 格式化时间戳为字符串
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print("Formatted time:", formatted_time)
2. 延迟执行(休眠)
import time# 延迟执行 5 秒
time.sleep(5)
print("5 seconds have passed.")
3. 执行时间的测量
import timestart_time = time.time()# 执行一些操作
for i in range(1000000):passend_time = time.time()
elapsed_time = end_time - start_timeprint("Elapsed time:", elapsed_time, "seconds")
4. 时间格式化
import time# 获取当前时间戳
current_time = time.time()# 使用strftime方法格式化时间
formatted_time = time.strftime("%A, %d. %B %Y %H:%M:%S", time.localtime(current_time))
print("Formatted time:", formatted_time)# 常用的格式化代码
# %A: 星期几的完整文本表示
# %a: 星期几的缩写表示
# %B: 月份的完整文本表示
# %b: 月份的缩写表示
# %d: 日,两位数的表示
# %H: 小时,24小时制,两位数表示
# %I: 小时,12小时制,两位数表示
# %M: 分钟,两位数表示
# %S: 秒,两位数表示
# %Y: 年份,四位数表示
# %y: 年份,两位数表示
5. 时间戳与结构化时间转换
import time# 将时间戳转换为结构化时间
timestamp = 1626700800 # 假设这是一个时间戳
structured_time = time.localtime(timestamp)
print("Structured time:", structured_time)# 将结构化时间转换为时间戳
structured_time = time.struct_time((2021, 7, 20, 0, 0, 0, 0, 0, 0))
timestamp = time.mktime(structured_time)
print("Timestamp:", timestamp)
time
模块提供了多种方法来处理时间,从获取当前时间到执行时间的测量,再到时间戳和结构化时间之间的转换。在处理时间相关的任务时,它是非常有用的。
七、 random
模块
random
模块是 Python 的标准库之一,用于生成随机数。你可以使用 random
模块来生成伪随机数,这些数在多种应用中都很有用,比如模拟、游戏、统计模型等。下面是一些 random
模块的常见用法和案例代码:
1. 生成随机整数
import random# 生成一个0到9之间的随机整数
random_integer = random.randint(0, 9)
print("Random integer:", random_integer)# 生成一个随机选择的整数列表
random_integers = random.sample(range(100), 5) # 从0到99中选择5个不重复的整数
print("Random integers:", random_integers)
2. 生成随机浮点数
import random# 生成一个0.0到1.0之间的随机浮点数
random_float = random.random()
print("Random float:", random_float)# 生成一个指定范围内的随机浮点数
random_float_in_range = random.uniform(1.0, 10.0) # 在1.0到10.0之间
print("Random float in range:", random_float_in_range)
3. 打乱列表顺序
import random# 打乱列表顺序
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print("Shuffled list:", my_list)
4. 随机选择元素
import random# 从列表中随机选择一个元素
my_list = ['apple', 'banana', 'cherry']
random_choice = random.choice(my_list)
print("Random choice:", random_choice)
5. 设置随机数种子
import random# 设置随机数种子,使得每次生成的随机数序列相同
random.seed(1)# 生成随机整数
print(random.randint(0, 9))# 再次生成随机整数,由于种子相同,结果应该与上一次相同
print(random.randint(0, 9))
通过设置随机数种子,你可以确保每次运行程序时生成的随机数序列是相同的,这在需要可重复的实验或调试时非常有用。
6. 随机分割列表
import random# 随机分割列表为两部分
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
split_index = random.randint(0, len(my_list) - 1)
first_part = my_list[:split_index]
second_part = my_list[split_index:]
print("First part:", first_part)
print("Second part:", second_part)
random
模块提供了丰富的功能来生成各种类型的随机数。请注意,由于它们是伪随机数生成器,所以并不是真正的随机,但对于大多数应用来说,它们的随机性已经足够了。如果你需要更高质量的随机数,可能需要考虑使用专门的随机数生成库。
八、math
模块
math
模块是 Python 的标准库之一,提供了对一系列数学函数的访问,这些函数有助于执行基本的数学运算,如三角函数、对数、指数函数、开方等。以下是一些 math
模块的常见用法和案例代码:
1. 常量
math
模块包含了一些常用的数学常量,如 π 和 e。
import math# 圆周率 π
pi_value = math.pi
print("Value of pi:", pi_value)# 自然对数的底 e
e_value = math.e
print("Value of e:", e_value)
2. 幂和对数
import math# 计算幂
x = 2
y = 3
x_to_the_power_of_y = math.pow(x, y)
print(f"{x} to the power of {y} is {x_to_the_power_of_y}")# 计算自然对数
log_of_x = math.log(x)
print(f"Natural logarithm of {x} is {log_of_x}")# 计算以10为底的对数
log10_of_x = math.log10(x)
print(f"Logarithm base 10 of {x} is {log10_of_x}")
3. 开方
import math# 计算平方根
sqrt_of_x = math.sqrt(x)
print(f"Square root of {x} is {sqrt_of_x}")# 计算任意数的幂次方根
cuberoot_of_x = math.pow(x, 1/3)
print(f"Cube root of {x} is {cuberoot_of_x}")
4. 三角函数
import math# 计算正弦
sin_of_x = math.sin(math.radians(45)) # 注意:角度需要转换为弧度
print(f"Sine of 45 degrees is {sin_of_x}")# 计算余弦
cos_of_x = math.cos(math.radians(45))
print(f"Cosine of 45 degrees is {cos_of_x}")# 计算正切
tan_of_x = math.tan(math.radians(45))
print(f"Tangent of 45 degrees is {tan_of_x}")
5. 舍入函数
import math# 向上取整
ceil_value = math.ceil(4.7)
print(f"Ceiling of 4.7 is {ceil_value}")# 向下取整
floor_value = math.floor(4.7)
print(f"Flooring of 4.7 is {floor_value}")# 四舍五入
round_value = math.round(4.7)
print(f"Rounding of 4.7 is {round_value}")
6. 阶乘
import math# 计算阶乘
factorial_of_5 = math.factorial(5)
print(f"Factorial of 5 is {factorial_of_5}")
7. 最大值和最小值
import math# 计算最大值
max_value = math.fmax(3, 5)
print(f"Maximum of 3 and 5 is {max_value}")# 计算最小值
min_value = math.fmin(3, 5)
print(f"Minimum of 3 and 5 is {min_value}")
math
模块还包含许多其他函数,用于执行各种数学运算。这些函数为开发者提供了一个方便的工具集,用于处理日常的数学计算任务。如果你需要执行更复杂的数学运算或需要用到高级的数学函数,可能需要考虑使用 scipy
或 numpy
等第三方库。
九、urllib
模块
urllib
是 Python 的一个标准库模块,用于打开和读取 URL(统一资源定位符)。这个模块提供了一系列的功能,用于处理网络相关的任务,比如打开和读取网页内容、发送 HTTP 请求等。urllib
模块通常与 urllib.request
、urllib.error
、urllib.parse
和 urllib.robotparser
一起使用,这些模块提供了一系列的功能和异常处理。
下面是一些 urllib
模块中常用功能的使用示例:
1. urllib.request
- 打开和读取 URL
from urllib.request import urlopen# 打开 URL 并读取内容
url = 'https://www.example.com'
response = urlopen(url)# 读取网页内容
html_content = response.read()# 打印网页内容
print(html_content.decode('utf-8'))
2. urllib.parse
- 解析 URL
from urllib.parse import urlparse, urljoin# 解析 URL
parsed_url = urlparse('https://www.example.com/path?query=value#fragment')
print(parsed_url)# 构建 URL
base_url = 'https://www.example.com/path'
relative_url = 'subpath?query=value'
absolute_url = urljoin(base_url, relative_url)
print(absolute_url)
3. urllib.error
- 异常处理
from urllib.request import urlopen
from urllib.error import URLError, HTTPErrorurl = 'https://www.example.com/nonexistent'try:response = urlopen(url)
except URLError as e:print(f'We failed to reach a server.')print(f'Reason: {e.reason}')
except HTTPError as e:print(f'The server couldn\'t fulfill the request.')print(f'Error code: {e.code}')print(f'Error message: {e.read()}')
4. urllib.robotparser
- 读取和解析 robots.txt 文件
from urllib.robotparser import RobotFileParser# 创建机器人解析器对象
parser = RobotFileParser()# 设置要解析的 robots.txt 文件的 URL
parser.set_url('https://www.example.com/robots.txt')# 检查特定用户代理是否可以访问某个路径
user_agent = 'mybot/1.0'
path = '/some/path'
if parser.can_fetch(user_agent, path):print(f'{user_agent} can fetch {path}')
else:print(f'{user_agent} cannot fetch {path}')
请注意,urllib
模块的功能相对基础,对于更复杂的 HTTP 请求(如 POST 请求、设置 headers、处理 cookies 等),你可能需要使用更高级的库,如 requests
。requests
库提供了更友好和强大的 API,使得发送 HTTP 请求变得更加简单和直观。
十、相关链接
- Python下载安装中心
- Python官网
- Python软件下载
- 「Python系列」Python简介及案例
- 「Python系列」Python基础语法/数据类型
- 「Python系列」Python解释器
- 「Python系列」Python运算符
- 「Python系列」Python数据结构
- 「Python系列」Python元组
- 「Python系列」Python集合
- 「Python系列」Python列表
相关文章:

「Python系列」Python标准库
文章目录 一、 os 模块:文件和目录操作二、 sys 模块:与Python解释器交互三、 datetime 模块:日期和时间处理四、 json 模块:处理JSON数据五、 re 模块:正则表达式六、 time模块1. 获取当前时间2. 延迟执行(…...

虚拟列表【vue】等高虚拟列表/非等高虚拟列表
文章目录 1、等高虚拟列表2、非等高虚拟列表 1、等高虚拟列表 参考文章1 参考文章2 <!-- eslint-disable vue/multi-word-component-names --> <template><divclass"waterfall-wrapper"ref"waterfallWrapperRef"scroll"handleScro…...

【MySQL】如何理解索引(高频面试点)
一、前言 首先这个博客会介绍一些关于MySQL中索引的基本内容以及一些基本的语法,当然里面也会有些常见的面试题的解答。 二、关于索引 1、概念 索引是一种能够帮助MySQL高效的去磁盘检索数据的一种数据结构。在MySQL的Innodb存储引擎中呢,采用的是B树的…...

NXP实战笔记(四):S32K3xx如何产生中心对称三相六路波形
目录 1、概述 1.1、理论基础 2、RTD实现 2.1、Emios时基配置 2.1.1、EmiosMcl 2.1.2、EmiosCommon 2.2、Emios PWM配置 2.3、TRGMUX 2.4、LCU 2.5、外设信号配置 3、代码实现 4、测试结果 1、概述 电机控制中需要产生三相六路SVPWM进行占空比与周期调制,怎么通过RT…...

关于uniapp H5应用无法在触摸屏正常显示的处理办法
关于uniapp H5应用无法在触摸屏正常显示的处理办法 1、问题2、处理3、建议 1、问题 前几天, 客户反馈在安卓触摸大屏上无法正确打开web系统(uni-app vue3开发的h5 应用),有些页面显示不出内容。该应用在 pc 端和手机端都可以正常…...

Stable Diffusion 3 发布,AI生图效果,再次到达全新里程碑!
AI生图效果,再次到达全新里程碑! Prompt:Epic anime artwork of a wizard atop a mountain at night casting a cosmic spell into the dark sky that says "Stable Diffusion 3" made out of colorful energy 提示(意译…...

单例模式怎样实现单例(独例)?
在类定义中加入私有属性 __init__flag Ture,在随后的初始化处理中,判断该属性为真时进行相应的初始化操作,否则,跳过相应的初始化操作。这个机制,保证在进行后续的调用时,不再占用额外的内存开销。 当然了,…...

MySQL——基础内容
目录 第01章_数据库概述 关系型数据库(RDBMS)——表、关系模型 非关系型数据库(非RDBMS) 表、记录、字段 表的关联关系 一对一关联 一对多关系 多对多 自我引用 第02章_MySQL环境搭建 登录命令 常用命令 show databases; create database use 数据库名 show tables 第03章…...

node 之 初步认识
思考:为什么JavaScript可以在浏览器中被执行 代执行的js代码——JavaScript解析引擎 不同的浏览器使用不同的JavaScript解析引擎 Chrome 浏览器 》 V8 Firefox浏览器 》OdinMonkey(奥丁猴) Safri浏览器 》JSCore IE浏览器 》Chakra(查克拉) e…...

css复习
盒模型相关: border:1px solid red (没有顺序) 单元格的border会发生重叠,如果不想要重叠设置 border-collapse:collapse (表示相邻边框合并在一起) padding padding影响盒子大小的好处使用 margin应用: 行内或行内块元素水…...

HTML5和CSS3提高
一、HTML5的新特性 增加了一些新的标签,新的表单,新的表单属性,IE9以上版本的浏览器才支持 注意: 这些语义化标准主要针对搜索引擎的 新标签可以使用多次 在IE9中需要把这些元素转化为块级元素 新增的多媒体标签 主要包含两个…...

感受2024生物发酵展示会-明章机械
参展企业介绍 温州明章机械有限公司是一家专业从事搅拌传动装置机械密封,减速机,机架,联轴器及相关配件。设计、开发及生产的服务型高新技术企业公司,座落于浙江省温州市瓯海区娄桥镇高新工业园区豪新路42号,交通位置…...

算法打卡day1|数组篇|Leetcode 704.二分查找、27.移除元素
数组理论基础 数组是存放在连续内存空间上的相同类型数据的集合,可以方便的通过下标索引的方式获取到下标下对应的数据。 1.数组下标都是从0开始的。 2.数组内存空间的地址是连续的。 正是因为数组的在内存空间的地址是连续的,所以我们在删除或者增添…...

什么是高阶组件
高阶组件(HOC)是 React 中用于复用组件逻辑的一种高级技巧。简单来说,高阶组件就是一个函数,该函数接受一个组件作为参数,并返回一个新的组件。这个新的组件会使用你传给它的组件作为子组件。 高阶组件并不是真的组件…...

python实现裂区试验方差分析
方差分析(Analysis of Variance,ANOVA)是一种统计方法,用于比较三个或三个以上组别的平均值是否存在显著差异。它通过比较组内变异和组间变异的大小来判断组别间的平均值是否有显著差异。 方差分析通常用于以下情况: …...

Vue v-for、v-if、v-show常见问题
vue使用v-for遍历对象时,是按照什么顺序遍历的?如何保证顺序? 会先判断对象是否存在iterator接口,如果有循环执行next()方法。 没有iterator的情况下,会调用Object.Keys()方法,在不同的浏览器中ÿ…...

GPT技术在学术研究中的革命性应用:开启论文创作新篇章
在学术界,撰写高质量的论文一直是一个挑战性的任务,它不仅需要深厚的专业知识,还要求良好的文献综述能力、数据分析技巧以及清晰的表达能力。近年来,随着人工智能技术的飞速发展,尤其是生成式预训练变换器(…...

【K8s】-- 描述容器中 pod 的状态
命令:kubectl describe pod -n 你的namespace名称 pod 名称 举例:kubectl describe pod -n my-flink --context prod-5 test-record-all-new-mc-taskmanager-1-1 Name: test-record-all-new-mc-taskmanager-1-1 Namespace: ky-flink Pri…...

使用yolo-seg模型实现自定义自动动态抠图
yolov8导航 如果大家想要了解关于yolov8的其他任务和相关内容可以点击这个链接,我这边整理了许多其他任务的说明博文,后续也会持续更新,包括yolov8模型优化、sam等等的相关内容。 YOLOv8(附带各种任务详细说明链接) …...

FairyGUI × Cocos Creator 3.x 场景切换
前言 前文提要: FariyGUI Cocos Creator 入门 FairyGUI Cocos Creator 3.x 使用方式 个人demo:https://gitcode.net/qq_36286039/fgui_cocos_demo_dust 个人demo可能会更新其他代码,还请读者阅读本文内容,自行理解并实现。 官…...

【Java程序设计】【C00288】基于Springboot的篮球竞赛预约平台(有论文)
基于Springboot的篮球竞赛预约平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的篮球竞赛预约平台 本系统分为前台功能模块、管理员功能模块以及用户功能模块。 前台功能模块:用户进入到平台首页&a…...

textbox文本框跨线程写入,扩展textobx控件
在Windows Forms中,由于UI控件不是线程安全的,直接跨线程访问和修改UI控件通常会导致不可预测的行为或异常。TextBox 控件同样不能直接从非创建它的线程进行写入。为了安全地在不同线程间更新 TextBox 控件的内容,你可以使用控件的 Invoke 方…...

【踩坑】PyTorch中指定GPU不生效和GPU编号不一致问题
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 指定GPU不生效问题 解释:就是使用os.environ["CUDA_VISIBLE_DEVICES"] "1"后,后面使用起来仍然是cuda0. 解决:在最开头就使用 import os os.environ[&…...

线性代数:向量、张量、矩阵和标量
线性代数:向量、张量、矩阵和标量 背景 在线性代数中,向量、张量、矩阵和标量都属于基础概念,特别是最近AI的爆火,向量和张量的概念也越来越普及,本文将介绍下这些基本概念。 1. 标量(Scalar࿰…...

WordPres Bricks Builder 前台RCE漏洞
免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…...

渗透测试—信息收集
渗透测试—信息收集 1. 收集域名信息1.1. 域名注册信息1.2. SEO信息收集1.3. 子域名收集1.3.1. 在线子域名收集1.3.2. 子域名收集工具 1.4. 域名备案信息1.5. ICP备案号查询1.6. SSL证书查询 2. 收集真实IP2.1. 超级ping2.2. Ping2.3. CDN绕过 3. 收集旁站或C段IP3.1. 旁站或C段…...

安卓adb调试备忘录
由于 MAC 的 USB 口全被占用着,采用无线连接刚方便,记录一下,以防忘记~ ADB原理 adb devices -l ## 列出连接的设备adb tcpip [端口号] adb tcpip 6666 # 将当前已连接USB上的Mobile端切换为TCP/IP模式,以6666端口进行监听. adb…...

【软件架构】01-架构的概述
1、定义 软件架构就是软件的顶层结构 RUP(统一过程开发)4 1 视图 1)逻辑视图: 描述系统的功能、组件和它们之间的关系。它主要关注系统的静态结构,包括类、接口、包、模块等,并用于表示系统的组织结构…...

Vue 图片轮播第三方库 介绍
Vue图片轮播是一种在网页上以自动或手动方式展示图片的组件,常用于产品展示、网站banner等场景。有许多第三方库可以帮助Vue开发者轻松实现图片轮播功能。以下是一些流行的Vue图片轮播第三方库的介绍: 1. Vue-awesome-swiper - **简介**:V…...

设置主从复制时发生报错Could not find first log file name in binary log index file‘;解决方案
如图所示,slave_io_runnind:no,slave_sql_running:yes 此时,主从配置错误,我们可以查看Last_IO_Error:来查看报错信息 此时,我们需要停止从服务器的主从服务, mysql> stop slave; Query OK, 0 rows affected, 1 w…...