Python编程中的常用模块详解

 更新时间:2025年10月22日 09:17:55   作者:凡间客  
本文介绍了Python常用的time、datetime、random、os、sys、json和pickle模块的用途及常见用法,包括时间处理、操作系统交互、进度条实现以及数据序列化等内容,感兴趣的朋友跟随小编一起看看吧

一、Time模块

1.时间戳

time_stamp = time.time()
print(time_stamp, type(time_stamp))

2.格式化时间

format_time = time.strftime("%Y-%m-%d %X")
print(format_time, type(format_time))
2024-10-29 16:05:25 <class 'str'>

3.结构化时间

print('本地时区的struct_time:\n{}'.format(time.localtime()))
print('UTC时区的struct_time:\n{}'.format(time.gmtime()))
​
#本地时区的struct_time:
time.struct_time(tm_year=2022, tm_mon=8, tm_mday=31, tm_hour=16, tm_min=14, tm_sec=41, tm_wday=2, tm_yday=243, tm_isdst=0)
#UTC时区的struct_time:
time.struct_time(tm_year=2022, tm_mon=8, tm_mday=31, tm_hour=8, tm_min=14, tm_sec=41, tm_wday=2, tm_yday=243, tm_isdst=0)

4.常见用法:计算程序执行的时间

# 推迟指定的时间运行,单位为秒start = ti# 推迟指定的时间运行,单位为秒
start = time.time()
time.sleep(3)
end = time.time()
#print(end-start)me.time()time.sleep(3)end = time.time() 
print(end-start)

二、datetime模块

该模块可以看成时间的加减模块

# 返回当前时间
print(datetime.datetime.now())
# 当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(3))
# 当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(-3))
# 当前时间+30分钟
print(datetime.datetime.now() + datetime.timedelta(minutes=30))
# 时间替换
c_time = datetime.datetime.now()
print(c_time.replace(minute=20, hour=5, second=13))
print(datetime.date.fromtimestamp(time.time()))  #换算成年月日
2019-03-07

三、random模块

# 大于0且小于1之间的小数
print(random.random())
# 大于等于1且小于等于3之间的整数
print(random.randint(1, 3))
# 大于1小于3的小数,如1.927109612082716
print(random.uniform(1, 3))
# 列表内的任意一个元素,即1或者‘23'或者[4,5]
print(random.choice([1, '23', [4, 5]]))
1
#------------smaple-------比较常用在数据导入的时候像随机选择数据
# random.sample([], n),列表元素任意n个元素的组合,示例n=2
print(random.sample([1, '23', [4, 5]], 2))
[[4, 5], '23']
lis = [1, 3, 5, 7, 9]
# 打乱l的顺序,相当于"洗牌"
random.shuffle(lis)
print(lis)
[1, 3, 9, 7, 5]

四、os模块

1.os模块负责程序与操作系统交互

2.os的重点模块:

os.getcwd()

os.path.abspath('D:\python_base')\

os.path.split('C:\\WINDOWS\\system32\\cmd.exe')

os.path.join('C:\\WINDOWS\\system32\\cmd.exe','hello')

os.path.getsize('C:\\WINDOWS\\system32\\cmd.exe')

3.os常见操作:获取当前路劲的绝对路劲,获取当前路劲的父路径、父父路劲等

# -*- coding: utf-8 -*-
'''
@Time    : 2022/09/01 10:25
@Author  : Rice
@CSDN : C_小米同学
@FileName: test.py
'''
import os
print(os.path.abspath(__file__)) #返回当前文件的绝对路劲(路径+文件名)
print(os.path.dirname(os.path.abspath(__file__))) #返回当前文件的父路径
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#返回当前文件的父路径的父路径
print(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))

五、sys模块

1.sys模块负责程序与python解释器进行交互

2.sys重点模块

sys.path:返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.version:获取Python解释程序的版本信息

sys.exit(n):退出程序,正常退出时exit(0)

3.案例:实现进度条的打印

#=========知识储备==========
#进度条的效果
[#             ]
[##            ]
[###           ]
[####          ]
#指定宽度
print('[%-15s]' %'#')
print('[%-15s]' %'##')
print('[%-15s]' %'###')
print('[%-15s]' %'####')
#打印%
print('%s%%' %(100)) #第二个%号代表取消第一个%的特殊意义
#可传参来控制宽度
print('[%%-%ds]' %50) #[%-50s]
print(('[%%-%ds]' %50) %'#')
print(('[%%-%ds]' %50) %'##')
print(('[%%-%ds]' %50) %'###')
#=========实现打印进度条函数==========
def progress(percent,width=100):
    if percent >= 1:
        percent=1
    for i in range(width + 1):
        show_str=('[%%-%ds]' %i) %(int(i * percent) * '#')
        print('\r%s %d%%' %(show_str,int(i * percent)),file=sys.stdout,flush=True,end='')
        time.sleep(0.1)
​
progress(1)
#=========应用==========
data_size=1025
recv_size=0
while recv_size < data_size:
    time.sleep(0.1) #模拟数据的传输延迟
    recv_size+=1024 #每次收1024
    percent=recv_size/data_size #接收的比例
    progress(percent,width=70) #进度条的宽度70

六、json和pickle模块

1.序列化

把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization, marshalling, flattening.

2.序列化的优点:

1.持久保存状态:内存是无法永久保存数据的,当程序运行了一段时间,我们断电或者重启程序,内存中关于这个程序的之前一段时间的数据(有结构)都被清空了。但是在断电或重启程序之前将程序当前内存中所有的数据都保存下来(保存到文件中),以便于下次程序执行能够从文件中载入之前的数据,然后继续执行,这就是序列化。

2.跨平台数据交互:序列化时不仅可以把序列化后的内容写入磁盘,还可以通过网络传输到别的机器上,如果收发的双方约定好实用一种序列化的格式,那么便打破了平台/语言差异化带来的限制,实现了跨平台数据交互。

3.json格式

Json序列化并不是python独有的,json序列化在java等语言中也会涉及到,因此使用json序列化能够达到跨平台传输数据的目的。ison数据举型和python数据举型对应关系表

Json类型Python类型
{}dict
[]list
string"str
520.13int或float
true/falseTrue/False
nullNone

到此这篇关于Python编程之常用模块的文章就介绍到这了,更多相关Python常用模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python使用python-pptx自动化操作和生成PPT

    Python使用python-pptx自动化操作和生成PPT

    这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-08-08
  • 浅谈Python 的枚举 Enum

    浅谈Python 的枚举 Enum

    下面小编就为大家带来一篇浅谈Python 的枚举 Enum。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 数据库连接池DBUtils的安装使用方法

    数据库连接池DBUtils的安装使用方法

    DBUtils是Python的一个用于实现数据库连接池的模块,这篇文章主要介绍了数据库连接池DBUtils的安装使用方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • Python 实现文件读写、坐标寻址、查找替换功能

    Python 实现文件读写、坐标寻址、查找替换功能

    这篇文章主要介绍了Python 实现文件读写、坐标寻址、查找替换功能,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2019-09-09
  • python中图像通道分离与合并实例

    python中图像通道分离与合并实例

    今天小编就为大家分享一篇python中图像通道分离与合并实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python输出9*9乘法表的方法

    Python输出9*9乘法表的方法

    这篇文章主要介绍了Python输出9*9乘法表的方法,提供了两种常用方法供大家参考借鉴,需要的朋友可以参考下
    2015-05-05
  • pytest进阶教程之fixture函数详解

    pytest进阶教程之fixture函数详解

    这篇文章主要给大家介绍了关于pytest进阶教程之fixture函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python工具模块介绍之time 时间访问和转换的示例代码

    python工具模块介绍之time 时间访问和转换的示例代码

    这篇文章主要介绍了python工具模块介绍-time 时间访问和转换,本文通过示例代码给大家介绍的非常详细,对大家啊的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • 一步步教你用python给女朋友写个微信自动提醒的程序

    一步步教你用python给女朋友写个微信自动提醒的程序

    如今微信已成为我们日常生活的主要交流工具,但是微信自身的功能有时候可能并不能满足我们的需要,因此我们会想是否可以进行微信功能的拓展呢,这篇文章主要给大家介绍了关于利用python给女朋友写了个微信自动提醒程序的相关资料,需要的朋友可以参考下
    2021-10-10
  • Pandas筛选DataFrame含有空值的数据行的实现

    Pandas筛选DataFrame含有空值的数据行的实现

    本文主要介绍了Pandas筛选DataFrame含有空值的数据行的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论