当前位置: 首页 > article >正文

Python个人学习笔记(15):模块(time)

本章主要内容:
1.time模块(sleep
2.datetime模块
3.random模块
4.序列化-pickle模块
5.序列化-json模块
6. hashilib模块
7. shutil模块
8. logging模块
9.异常处理
10. traceback
11.zipfile模块
12.正则表达式
13.re模块
14.os模块
15.sys模块
16.模块和包
17.第三方模块安装和使用

一、time

(一)模块介绍

模块其实就是我们把公用的功能代码写入在一个py文件中,在其他模块中可以随意的使用该文件中的代码。
导入一个模块的语法
1.import 模块
2.from 模块 import 功能

import time # 导入一个模块整体
from time import sleep # 从一个模块中导入一个具体的功能

用哪个都行

(二)time

1. sleep

我们一般会使用time模块让程序休息n秒,或者计算简单的时间差。

import time
print("你好")
time.sleep(3) # 暂停三秒
print("你才好呢")

爬虫中会用到,用于降低程序执行的频率
爬虫程序模拟:

while True:
    print("抓取百度的信息")
    time.sleep(1)

2. time.time():时间戳

选取一个时间点作为零点,从零点开始的秒数作为时间,即数字类型的时间。

代码:

print(time.time())

结果:

1741767846.205992
# 距离零点1741767846.205992秒

可以用于计算时间差
代码:

start = time.time()
for i in range(10000):
    print(i)
end = time.time()
print(end - start)

结果:

0.027585983276367188
# 这个程序花了0.027585983276367188秒

二、datetime(重要)

常用于处理时间

(一)datetime.now:得到系统时间

得到系统时间
代码:

from datetime import datetime
print(datetime.now())

结果:

2025-03-12 16:41:47.828275

也可以打出指定时间
代码:

print(datetime(2018,1,2,12,12,13))

结果:

2018-01-02 12:12:13

(二)计算时间差

代码:

t1 = datetime(2018,1,2,12,30,00)
t2 = datetime(2018,1,4,14,30,00)
diff = t2 - t1
print(diff)

结果:

2 days, 2:00:00
# 两天两小时

还能得到一共差了多少秒
代码:

print(diff.total_seconds())

结果:

180000.0

(三)t.strftime、t.strptime:时间的格式化

t.strftime(格式化形式)
代码:

t = datetime.now()
print(t)
print(t.strftime("%Y年%m月%d日%H小时%M分钟%S秒")) # 把时间格式化成一个字符串

结果:

2025-03-12 16:54:27.546551
2025031216小时54分钟27

不用记,需要用再查

例:让用户输入两个时间,计算时间差
代码:

s1 = input("请输入第一个时间(yyyy-mm-dd hh:mm:ss):")
s2 = input("请输入第二个时间(yyyy-mm-dd hh:mm:ss):")
# 把字符串转化为时间
t1 = datetime.strptime(s1, "%Y-%m-%d %H:%M:%S") # p:parse
t2 = datetime.strptime(s2, "%Y-%m-%d %H:%M:%S") # 格式部分注意中英文符号的区别
print(t2-t1)

结果:

请输入第一个时间(yyyy-mm-dd hh:mm:ss):2025-01-23 12:13:24
请输入第二个时间(yyyy-mm-dd hh:mm:ss):2025-02-04 12:12:12
11 days, 23:58:48

datetime:年月日 时分秒
date:年月日(新版没有这个模块)
time:时分秒

必须要掌握的内容:
1. now():系统时间
2. datetime(year, month, day, hour, min, second)
3. strftime(“%Y-%m-%d %H:%M:%S”):时间格式化成字符串
4. strptime(str, “%Y-%m-%d %H:%M:%S”):把字符串转化成时间

三、random

random.random:生成(0,1)内的随机小数
代码:

import random
print(random.random())
print(random.random())
print(random.random())

结果:

0.6940466062205409
0.6733916751508989
0.7445562466157682

random.uniform:生成一个开区间范围的随机小数

代码:

print(random.uniform(5,9))

结果:

7.821629111940486

可以用于发红包
random.randint:生成一个闭区间范围的随机整数
代码:

print(random.randint(3,8))

结果:

3

random.choice:从列表中随机选择一个

lst = ["张无忌",'周杰伦','潘玮柏','赵四']
print(random.choice(lst))

random.sample:从列表中随机选择一部分(用得不如randint多)

lst = ["屠龙刀",'倚天剑','500金币','青龙偃月刀','溜溜球']
# 每次随机爆出两件装备
print(random.sample(lst,2))

练习:随机生成四位验证码
四位验证码,一个一个的生成,可能会有数字、大小写字母
代码:

def rand_num():
    return str(random.randint(0, 9))

def rand_upper():
    return chr(random.randint(65, 90)) # chr可以让一个数字变成字母

def rand_lower():
    return chr(random.randint(97, 122)) # 数字是既定的ascii码排列

def rand_verify_code(n=4): # n默认为4,循环四次
    lst = [] # 准备一个接收下面循环出来的值的列表
    for i in range(n):
        which = random.randint(1, 3) # 上述三种类型中随机出一个
        if which == 1: # 随机数字
            s = rand_num()
        elif which == 2: # 随机一个大写字母
            s = rand_upper()
        elif which == 3:
            s = rand_lower()
        lst.append(s)
    return ''.join(lst)

print(rand_verify_code())

http://www.kler.cn/a/584517.html

相关文章:

  • 加速布局前置仓,京东健康自营大药房也要做即时零售仓店?
  • 定义未来!广东天谱科技集团有限公司荣获“GAS科创奖-产品创新奖”!
  • Python自动化脚本:2分钟快速搭建MTProto代理服务(支持多端口负载均衡)
  • C# 事件使用详解
  • logback希望特定的error日志写入到特定文件
  • 开源工具利器:Mermaid助力知识图谱可视化与分享
  • 海外服务器的网络带宽该如何进行选择?
  • Android/AOSP源码编译错误:TEMPORARY_DISABLE_PATH_RESTRICTIONS
  • 算法-字母异位词分组
  • Android 中临时文件存放路径选择
  • MOEFeedForward 模块
  • DeepSeek模型本地化部署方案及Python实现
  • ArcGIS Pro 车牌分区数据处理与地图制作全攻略
  • CMOS电平标准详解
  • JAVA面试_进阶部分_Ibatis与Hibernate的区别
  • STM32第一天建立工程
  • 医疗APP开发如何实现跨机构数据互通
  • Html5记忆翻牌游戏开发经验分享
  • c++介绍函数指针 十
  • 智享三代实景无人直播:实景呈现+智能互动,以科技之力稳抓流量与商机