【2022-07-15】Python常用内置模块

Python常见内置模块

datetime模块

  • 与time模块类似,都是可以对时间进行一些相关的操作
  • py文件名称尽量不要与模块名冲突(内置、第三方)
功能列表 功能说明
datetime.datetime 描述日期时间对象,即year、月month、日day、 Hours、分minutes、秒second
datetime.data 描述日期对象,即年year、月month、日day
datetime.timedelta 换算时间间隔,可适用于做定时任务或日志精确查询
datetime.time 描述时间对象,即时Hours、分minutes、秒second
datetime.now 获取当前datetime
datetime.utcnow 获取当前格林威治时间
import datetime    

tes = datetime.datetime.today()
print(tes)                            # 2022-07-15 15:36:27.904993
tes1 = datetime.date.today()
print(tes1)                           # 2022-07-15

"""
如何区分时间模块中的年月日、时分秒
datetime       年月日 时分秒

date           年月日
"""

test2 = datetime.timedelta(days=6)
print(tes1 + test2)                 # 2022-07-21
print(tes1 - test2)                 # 2022-07-09
"""
timedelta后面的括号内可以添加很多参数,也可以通过换算进行获取,比如年、月
"""

print(datetime.datetime.now())  # 2022-07-15 15:50:23.004384
print(datetime.datetime.utcnow())  # 2022-07-15 07:50:23.004384

assign = datetime.datetime(2018, 1, 1, 00, 00)
print('时空穿梭:', assign)              # 时空穿梭: 2018-01-01 00:00:00

os模块

  • os模块是与操作系统交互的一个接口
功能列表 功能说明
os.mkdir 用于创建单级目录
os.makedirs 用于创建单级目录和多级目录
os.rmdir 用于删除单级目录,无法删除有数据的目录,只能删除空白文件夹
os.removedirs 用于删除多级目录,无法删除有数据的目录,由内往外删除依次删除
os.listdir 指定路径下的文件名称
os.rename 重命名文件
os.remove 删除文件
os.getcwd 获取当前所在的绝对路径
os.chdir 切换路径
os.path.abspath(file) 获取当前文件的绝对路径
os.parh.dirname(file) 获取当前文件所在的目录路径
os.path.exists 判断路径是否存在(文件、目录)
os.path.isdir 判断路径是否是目录(文件夹)
os.path.isfile 判断路径是否是文件
os.path.join 拼接路径
os.ptah.getsize 获取文件大小
import os

# 1.创建目录
# os.mkdir(r'home')                    # 可以创建单层目录,无法创建多级目录
# os.makedirs(r'tmp\dev\sdb\src1')     # 创建多级目录
# os.makedirs(r'etc')                  # makedirs也可以创建单级目录
# 2.删除目录
# os.rmdir(r'etc')                     # 删除单级目录,无法删除有其他数据的目录 只能删除空白文件夹
# os.removedirs(r'tmp\dev\sdb\src1')   # 删除多级目录,针对有数据的目录同样无法删除  由内而外删除空目录,直到有数据的目录为止
# 3.列举指定路径下的文件名称(文件、目录)
# print(os.listdir())                  # ['.idea', 'datatime.py', 'home', 'os模块.py', '__pycache__']
# print(os.listdir(r'D:\\'))           # 查看当前盘符内所有的文件夹
# 4.重命名文件、删除文件
# os.rename(r'userinfo.txt', r'my_info.txt')          # 重命名文件
# os.remove(r'my_info.txt')                           # 删除文件
# 5.获取当前所在的路径
# print(os.getcwd())                                    # D:\python\study\day21  绝对路径
# os.chdir(r'..')                                       # 切换路径
# print(os.getcwd())                                    # D:\python\study
# 6.与程序启动文件相关
# print(os.path.abspath(__file__))                     # 获取当前文件的绝对路径
# print(os.path.dirname(__file__))                     # 获取当前文件所在的目录路径
# 7.判断路径是否存在(文件、目录)
# print(os.path.exists(r'home'))                         # True
# print(os.path.exists(r'test'))                         # False
# print(os.path.exists(r'datatime.py'))                  # True
# print(os.path.exists(r'userinfo.txt'))                 # False
# print(os.path.isdir(r'home'))                          # True   用于判断路径是否是目录(文件夹)
# print(os.path.isdir(r'datatime.py'))                   # False
# print(os.path.isfile(r'home'))                         # False  用于判断路径是否是文件
# print(os.path.isfile('datatime.py'))                   # True
# 8.拼接路径
# relative_path = 'userinfo.txt'
# absolute_path = r'D:\python\study\day21\tmp'
# print(absolute_path + relative_path)
"""
涉及到路径拼接,不要使用+号  用join方法
"""
# res = os.path.join(absolute_path, relative_path)
# print(res)                  # D:\python\study\day21\tmp\userinfo.txt
# ps:join方法可以自动识别当前所在的操作系统并自动切换正确的分隔符  windows用\   mac用/
# 9.获取文件大小  bytes
# print(os.path.getsize(r'os模块.py'))             # 2715
# print(os.path.getsize(r'userinfo.txt'))         # 260

sys模块

  • sys模块是与python解释器交互的一个接口
功能列表 功能说明
sys.path 搜索文件路径
sys.version 查看解释器版本
sys.platfrom 查看当前平台
sys.argv 命令行参数List,第一个元素是程序本身路径
# sys.argv           命令行参数List,第一个元素是程序本身路径
# sys.exit(n)        退出程序,正常退出时exit(0),错误退出sys.exit(1)
# sys.version        获取Python解释程序的版本信息
# sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.platform       返回操作系统平台名称

import sys

# print(sys.path)        # 结果是个列表
# print(sys.version)     # 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)]  查看解释器版本信息
# print(sys.platform)    # 查看当前平台   win32
res = sys.argv
if len(res) == 3:
    username = res[1]
    password = res[2]
    if username == 'zhangsan' and password == '666':
        print('you can perform')
    else:
        print('username and password error')
else:
    print('please input username and password')


json模块

功能列表 功能说明
json.dumps 将其他数据类型转换为json格式字符串
json.loads 将json格式字符串转换为对应的编程语言中的数据类型
json.dump 将其他数据以json格式字符串写入文件
json.load 将文件中json格式字符串读取出来并转换成对应的数据类型
json模块也称之为序列化模块
json模块是不同编程语言之间数据交互必备的模块(处理措施)
不同编程语言之间数据类型存在差异,无法直接进行交互
    
json格式的数据应该是什么
	数据基于网络传输肯定是二进制 那么在python中只有字符串可以调用encode方法转成二进制数据 所以json格式的数据也属于字符串

json格式的数据有一个非常明显的特征
	首先肯定是字符串 其次引号是标志性的双引号
    


# dic = {'name': 'zhangsan', 'pwd': 666}
"""
需求:将上述字典中的保存到文件中,并且读取出来之后还是字典
"""

# with open(r'dic.txt', 'w', encoding='utf8') as f:
#     f.write(str(dic))
# with open(r'dic.txt', 'r', encoding='utf8') as f:
#     data = f.read()
#     print(data, type(data))         # {'name': 'zhangsan', 'pwd': 666} <class 'str'>

# import json   # 序列化 将其他数据类型转换为json格式字符串
# userinfo = json.dumps(dic)
# print(userinfo, type(userinfo))   # {"name": "zhangsan", "pwd": 666} <class 'str'>

# dic1 = {"name": "lisi", "pwd": 777}
# print(dic1)                         # {'name': 'lisi', 'pwd': 777}

# userinfo1 = json.loads(userinfo)     # 反序列化  将json格式字符串转换为对应的编程语言中的数据类型
# print(userinfo1, type(userinfo1))    # {'name': 'zhangsan', 'pwd': 666} <class 'dict'>


# import json

# with open(r'dic.txt', 'w', encoding='utf8') as f:
    # f.write(json.dumps(dic))           # {"name": "zhangsan", "pwd": 666}
    # json.dump(dic, f)                    # 直接将字典写入文件,json会自动完成格式转换
# with open(r'dic.txt', 'r', encoding='utf8') as f:
    # data = f.read()
    # res = json.loads(data)
    # print(res, type(res))             # {'name': 'zhangsan', 'pwd': 666} <class 'dict'>
    # res = json.load(f)
    # print(res, type(res))             # {'name': 'zhangsan', 'pwd': 666} <class 'dict'>
    
    
"""
dumps()     将其他数据类型转换成json格式字符串
loads()     将json格式字符串转化成对应的数据类型

dump()      将其他数据数据以json格式字符串写入文件
load()      将文件中json格式字符串读取出来并转换成对应的数据类型
"""

posted @   dy12138  阅读(111)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示