写给Python社群的第7课:用 Python 模块了不起呀?就是了不起

本文介绍了Python标准库中关于日期时间处理的datetime模块及随机数生成的random模块。涵盖datetime模块的常见实例方法,如获取当前日期时间、格式化日期时间等,以及random模块的典型应用。

⛳️ Python 模块

Python 模块也叫做 Python 库,有环境内置的,也有第三方开发的,在 Python 任何一个项目中,都会用到大量的模块,本篇博客从自带标准库开始,带大家逐步进入模块世界。

Python 标准库知识

Python 标准库为程序员提供了大量的函数和功能,是 Python 的核心功能之一,当安装 Python 之后,系统已经将标准库进行了内置,便于后续直接使用。

标准库中内置对象有如下分类。

  • 内置函数
  • 内置常量
  • 内置类型
  • 内置异常

今天的学习也会围绕上述分类中的部分子条目展开。

⛳️ datetime 模块

datetime 模块,日期时间模块,在 Python 中出场率极高,所以我们直接从该模块开始学习。

请先记住模块的学习流程。

  1. 模块用前先导入;
  2. 找准模块对象的属性和方法;
  3. 牢记参数和返回值;
  4. 实战编码。

任何一款模块的学习,都遵循上述步骤,接下来看一下 datetime 吧,注意 datetime 是模块名,所以在导入的时候需要指定其内部对象。

from datetime import datetime,date,time

print(datetime.now())

上述程序会输出当前日期和时间,你是否发现在导入模块的时候,我们导入了 datetime 模块中的三个类名,分别是 datetimedatetime,对应日期时间,日期,时间。为何如此导入的原因,可以直接翻阅内置库代码,即 datetime.py 文件,打开之后发现其内部包含几个类,分别是 datetimetimedeltadatetzinfotimetimezone,即这几个类都可以被导入到其它文件中使用。

🔥 datetime 对象常见的实例方法

datetime 对象包含 datetime 对象的所有功能,算是一个总集,常见的对象方法如下:

  • datetime.now():获取当下的日期和时间;
  • datetime.date(t):获取当天日期,参数 tdatetime 实例参数;
  • datetime.time(t):获取当天时间,参数 t 同上;
  • datetime.ctime(t):获取格式化之后的日期时间字符串;
  • datetime.timestamp(t):获取指定时间的时间戳;
  • datetime.fromtimestampt(t_tamp):把时间戳转换为日期时间字符串;
  • datetime.strptime(dt_str,sf):按照 sf 样式格式化字符串;

除了上述清单方法外,datetime 对象还存在其它属性和方法,但我们要学习的主要是方法,这部分内容无法死记硬背,建议是每一个方法都在代码实践中进行尝试。

from datetime import datetime,date,time

# 获取当下时间
print(datetime.now())

# 存储一个临时变量
now = datetime.now()

# 获取传入 datetime 对象的日期部分
print(datetime.date(now))

# 获取传入 datetime 对象的时间部分
print(datetime.time(now))

# 获取传入 datetime 对象的字符串格式数据
print(datetime.ctime(now))

# 获取传入 datetime 对象转换的时间戳
print(datetime.timestamp(now))

以上代码都是正向用法,在项目实战中,会碰到如下几个场景,分别给大家展示。

📈 获取时间戳,保留到秒

from datetime import datetime,date,time
now = datetime.now()

print(int(datetime.timestamp(now)))

📈 保留时间戳到毫秒

from datetime import datetime,date,time
now = datetime.now()

print(int(datetime.timestamp(now)*1000))

📈 把当前时间按照年月日排列,即中文展示

from datetime import datetime,date,time
now = datetime.now()

print(now.strftime('%Y年%m月%d日'))

📈 把时间戳转换为日期时间

from datetime import datetime,date,time
now = 1667447170

print(datetime.fromtimestamp(now))

📈 根据数字生成日期和时间

from datetime import datetime,date,time


print(date(2022,10,10))
print(time(20,30,40))

在上面的代码中出现了 %Y%m%d 等占位符,它们都是日期格式化符号,其含义如下所示。

  • %Y:四位数年份;
  • %y:两位数年份;
  • %m:月份;
  • %d:日子;
  • %H:24 小时计时法中的小时;
  • %I:12 小时计时法中的小时;
  • %M:分钟;
  • %S:秒;
  • %a:本地简化星期;
  • %A:本地完整星期;
  • %b:本地简化月份;
  • %B:本地完整月份;
  • %c:本地日期和时间;
  • %j:表示年内的第几天;
  • %p:AM 或者 PM,本地化展示;
  • %U:星期数;
  • %w:星期几。

如果希望彻底掌握一个模块,实战中多用多查即可,检索关键字 Python + datetime

⛳️ time 模块

time 模块是将时间相关的函数进行了一次封装,其对象常用的方法如下:

  • time.sleep():程序挂起秒数;
  • time.perf_counter():返回当前 CPU 时间;
  • time.strftime(str_f):将带有时间格式的字符串解析为时间;
  • time.time():返回时间戳。

上述方法都很常见,所以大家可以自由进行练习,尤其是其中的 time.perf_counter() 在优化函数算法效率时,经常碰到。

⛳️ random 模块

随机数模块 random,在 Python 中出场率也非常高,其对象常用方法如下。

  • random.random():产生一个大于 0 小于 1 的随机浮点数;
  • random.uniform(a,b):在指定范围内生产随机浮点数;
  • random.randint(a, b):产生一个随机整数;
  • random.randrange([start], stop[, step]):从指定范围内,按指定基数递增的集合中获取一个随机数;
  • random.choice(sep):从序列中返回一个随机元素;
  • random.shuffle(x[, random]):打乱序列;

随机数最常见的需求与代码示例如下。

📈 随机生成一个 1~10 之间的数字,用于游戏
示例 1

import random
print(int(random.uniform(1,10)))

示例 2

import random
print(random.randint(1,10))

📈 返回列表中的任意元素

import random
my_list = [1,2,3,4,5,6]
print(random.choice(my_list))

⛳️ sys 和 os 模块

📈 sys 模块

sys 模块提供了与 Python 解析器相关的变量和函数,常见的属性和函数如下所示。

  • sys.path:获取环境变量配置;
  • sys.platform:获取操作系统标识;
  • sys.getwindowsversion():获取 windows 版本信息。
import sys
print(sys.path)
print(sys.platform)
sys.getwindowsversion()

📈 os 模块
os 模块是 Python 中操作文件的模块,对象常用方法如下。

  • os.getcwd():获取当前工作目录;
  • os.listdir(path):罗列传入路径文件和目录;
  • os.walk(path):深层次遍历指定路径下的所有子文件夹;
  • os.path.exists(path):检测目录是否存在;
  • os.mkdir(path):创建目录;
  • os.makedirs(path):创建目录,包含其子目录;
  • os.rmdir(path):删除非空目录;
  • os.path.split(path):拆分目录和文件名;
  • os.path.dirname(path):返回文件的绝对路径;
  • os.path.basename(path):获取文件名;
  • os.path.isdir(path):判断是否为目录/文件夹;
  • os.path.isfile(path):判断是否为文件;
  • os.path.getsize(path):获取文件大小;
  • os.system(cmd):执行控制台命令。

os 模块还有更多用法,这些都需要你在实战中不断夯实与积累,当然对拥有搜索引擎的我们来说,这都不是事。

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 745 篇原创博客

从订购之日起,案例 5 年内保证更新

<think>这个错误信息`E:\python\python.exe: Nomodule namedpip`表明Python解释器无法找到pip模块。这通常发生在以下几种情况:1. **Python安装不完整**:安装时未包含pip(例如自定义安装时取消了 pip的安装选项)。 2. **pip被意外删除**:用户或程序删除了 pip相关文件。3.**环境变量问题**:指向了错误的Python解释器(例如一个没有安装pip的解释器)。 4. **pip未正确安装**:安装过程出现错误。###解决方案####方法1:确保 Python安装包含pip重新安装 Python并确保在安装过程中勾选**Installpip**选项(默认是勾选的)。或者使用安装程序修复功能。 ####方法2:使用ensurepip模块安装pipPython自带一个`ensurepip`模块,用于安装pip:```powershell#在 PowerShell或命令提示符中运行python -m ensurepip --upgrade```如果上述命令失败,尝试:```powershellpython -m ensurepip --default-pip``` ####方法3:通过get-pip.py脚本安装1.下载`get-pip.py`脚本:```powershell#使用PowerShell下载Invoke-WebRequest-Urihttps://bootstrap.pypa.io/get-pip.py -OutFileget-pip.py```或者手动下载:[https://bootstrap.pypa.io/get-pip.py](https://bootstrap.pypa.io/get-pip.py)2.运行脚本安装pip:```powershellpythonget-pip.py``` ####方法4:检查Python环境确认你运行的 Python解释器是正确安装的那个: ```powershell#查看Python路径wherepython```如果存在多个 Python版本,使用完整路径调用: ```powershell#例如E:\python\python.exe -m ensurepip``` ####方法5:修复环境变量确保`E:\python\`和 `E:\python\Scripts\`都在系统PATH环境变量中。###验证安装```powershellpython-mpip --version#应该显示pip版本和路径```###常见问题排查**问题:安装后pip仍然不可用**解决方案:检查 `Scripts`目录是否在PATH中(例如 `E:\python\Scripts`)。 **问题:权限不足**解决方案:以管理员身份运行PowerShell或命令提示符。 **问题:网络问题导致下载失败**解决方案:使用国内镜像下载get-pip.py或安装:```powershellpython get-pip.py -i https://pypi.tuna.tsinghua.edu.cn/simple``` ###完整操作示例```powershell#步骤1:下载get-pip.pyInvoke-WebRequest-Urihttps://bootstrap.pypa.io/get-pip.py-OutFile get-pip.py#步骤2:运行安装python get-pip.py#步骤3:添加到PATH(临时)$env:Path +=";E:\python\Scripts" #步骤4:验证pip --version``` ---§§相关问题§§:1.如何为Python安装特定版本的 pip? 2.如何完全卸载并重新安装pip?3.在没有网络连接的情况下如何安装pip?4.如何修复pip升级后出现的损坏问题?</think>### 解决 `No module named pip` 错误的完整方案 这个错误 `E:\python\python.exe: No module named pip` 表示 Python 解释器找不到 pip 模块,通常有以下几种原因: #### 常见原因分析: 1. **Python 安装不完整**:安装时未包含 pip(常见于精简版或自定义安装) 2. **pip 被意外删除**:用户或程序删除了 pip 相关文件 3. **环境损坏**:Python 安装目录中的 pip 模块损坏 4. **路径问题**:Python 安装路径包含中文或特殊字符(如 `E:\python\`) 5. **多版本冲突**:系统中有多个 Python 版本导致混淆 --- ### 解决方案 #### 方法 1:使用 ensurepip 修复安装(推荐) Python 自带 `ensurepip` 模块用于安装/修复 pip: ```powershell # 在 PowerShell 中运行 python -m ensurepip --upgrade ``` 如果上述命令失败,尝试: ```powershell python -m ensurepip --default-pip ``` #### 方法 2:手动安装 pip 1. **下载 get-pip.py**: ```powershell # 使用 PowerShell 下载 Invoke-WebRequest -Uri https://bootstrap.pypa.io/get-pip.py -OutFile get-pip.py ``` 2. **运行安装脚本**: ```powershell # 使用指定解释器运行 E:\python\python.exe get-pip.py ``` #### 方法 3:重新安装 Python 并修复路径 1. **卸载当前 Python** 2. **重新安装时注意**: - 勾选 **Add Python to PATH** - 勾选 **Install pip** - 避免使用中文路径(推荐安装到 `C:\Python39` 等纯英文路径) #### 方法 4:检查并修复环境变量 确保以下路径在系统 PATH 中: ``` E:\python\ E:\python\Scripts\ ``` 在 PowerShell 中临时添加: ```powershell # 临时添加路径(仅当前会话有效) $env:Path = "E:\python\;E:\python\Scripts\;$env:Path" ``` #### 方法 5:检查 Python 安装完整性 ```powershell # 检查 Python 安装目录结构 cd E:\python ls # 应该包含 Lib/site-packages/pip 目录 # 如果缺失关键文件,考虑重新安装 ``` --- ### 验证修复是否成功 ```powershell # 检查 pip 版本 python -m pip --version # 尝试安装包 python -m pip install requests ``` --- ### 特殊问题处理:中文路径问题 如果路径 `E:\python\` 导致问题: 1. 创建符号链接到英文路径: ```powershell # 以管理员身份运行 mklink /D C:\Python E:\python ``` 2. 使用新路径操作: ```powershell C:\Python\python.exe -m pip install requests ``` --- ### 完整修复流程示例 ```powershell # 步骤 1: 下载 get-pip.py Invoke-WebRequest https://bootstrap.pypa.io/get-pip.py -OutFile get-pip.py # 步骤 2: 使用指定 Python 安装 pip E:\python\python.exe get-pip.py # 步骤 3: 临时添加路径 $env:Path = "E:\python\Scripts;$env:Path" # 步骤 4: 验证 pip --version pip install requests # 步骤 5: 永久修复路径(可选) [System.Environment]::SetEnvironmentVariable( "Path", "E:\python\Scripts;" + [Environment]::GetEnvironmentVariable("Path", "Machine"), "Machine" ) ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦想橡皮擦

如有帮助,来瓶可乐

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

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

打赏作者

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

抵扣说明:

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

余额充值