一、DateTime模块
datetime模块其实于time模块是相似的
DateTime 可以获取 当前时间、年、月、日、时、分、秒、微秒、星期几、UTC时间、时间拼接
DateTime中的weekday() 函数用于获取周数 它将返回 0-6 范围内的数字
datetime基本格式
import datetime 导入模块
import datetime 导入模块
now = datetime.datetime.today() 获取当前时间赋值给now
print(now) 获取当前今日北京时间
print(now.year) 获取当年时间
print(now.month) 获取当月时间
print(now.weekday()) 获取今天星期几
print(now.isoweekday()) 获取今天星期几
print(now.microsecond) 当前是多少微秒
print(datetime.datetime.utcnow()) 获取当前格林威治时间UTC
datetime时间拼接
import datetime 导入模块
res = datetime.datetime.today() 获取当前时间赋值给res
how = datetime.timedelta(days=3, hours=3, minutes=20, seconds=12, milliseconds=11, microseconds=1) 设置时间给how
print(res + how) 括号内可以日时分秒毫秒微秒
print(res - how) 当前时间减去设计的时间
0 | Monday |
---|---|
1 | Tuesday |
2 | Wednesday |
3 | Thursday |
4 | Friday |
5 | Saturday |
6 | Sunday |
二、OS模块
OS作为计算机系统资源的管理者 主要跟当前程序所在的操作系统打交道
基本格式
import os
os模块主要用来创建文件、目录、修改名字、删除文件、获取路径、判断是否时文件夹以及文件
os模块 | |
---|---|
os.mkdir(r’文件名’) | 创建单级目录(创建一个文件夹 ) |
os.makedirs(r’父文件夹\子文件夹\子文件夹’) | 创建多层目录(创建多层文件夹) |
os.rmdir(r’文件名’) | 删除单个文件夹不允许文件夹同级还有文件 |
os.removedirs(r’父文件\子文件\子文件’) | 删除文件夹里面的文件 如果外层父文件没有数据 则也会删除 |
os.listdir() | 获取当前执行文件下的目录(文件夹) |
os.listdir(r’D:\') | 获取D盘里面的目录(文件夹)盘符可以随意更改 |
os.remove(r’文件名’) | 删除所选中的文件 |
os.rename(r’文件名’) | 重新命名所选中的文件 |
os.getwcd() | 获取当前执行文件所在的绝对路径 |
os.chdir(r’…') | 获取上一层级的文件所在路径 |
os.path.abspath(file) | 获取当前执行文件的绝对路径 |
os.path.dirname(file) | 获取当前目录所在的路径 |
os.path.exists(r’文件夹’) | 获取当前选择的文件是否是文件夹 False True |
os.path.exists(r’文件’) | 获取当前选择的文件是否是文件 False True |
os.path.isdir() | 获取当前选择的文件是否是文件夹 False True |
os.path.isfile() | 获取当前选择的文件是否是文件 False True |
os.path.join(文件名1,文件名2) | 主要用来添加拼接路径就需要用到+号了 |
os.path.getsize(r’文件名+后缀’) | 获取文件大小 英文一个字符 中文三个字符 以bytes为单位 |
三、SYS模块
sys模块是与python解释器交互的一个接口
sys模块主要是跟python解释器打交道 可以查看路径、解释器版本信息、平台信息、编码信息
sys模块 | |
---|---|
sys.path | 第一个路径是当前执行文件所在的目录 第二个是整个项目的路径 ‘PyCharm’ 的优化 (在别的编辑器上没有 可以忽略) |
sys.version | 查看当前解释器版本信息(3.8.6 (v3.8.6:db455296be, Sep 23 2020, 13:31:39) ) |
sys.platform | 查看当前操作系统平台名称 darwin |
sys.exit | 一般情况下运行程序的情况下 想退出程序调用exit即可退出 |
sys.getdefaultencoding | 获取解释器默认编码 UTF-8 |
sys.getrecursionlimit | 获取最大递归层数官方给到默认值1000实际测试997~8左右 |
sys.setrecursionlimit | 设置最大递归层数 根据自己想设置的层数即可 最大值 3000 |
四、JSON模块
json模块我们称作它为序列化模块
也是我们不同编程语言之间数据交互必备的模块 意思就是说
在所有语言中都有json模块通用
我们每个语言之间之间交互都会乱码相当于我说话你听不懂我也听不懂你说的所有有了json模块在中间做起了翻译的角色
所有可以互通了
json格式的数据应该是什么
我们都知道数据信息都是基于网络二进制传输的
那么在python中只有字符串可以调用encode方法
转成二进制数据 所以json格式的数据也属于字符串
json格式的数据有一个非常明显的特征 首先肯定是字符串 然后
主要的标志性特征是双引号
这个时候就有疑问了我们直接打出来的双引号扩起来不就是json格式了 注意打出来的 输入的值还是单引号 所以双引号只能json使用
dumps() | 将其他数据类型转换成json格式字符串 |
---|---|
loads() | 将json格式字符串转化成对应的数据类型 |
dump() | 将其他数据数据以json格式字符串写入文件 |
load() | 将文件中json格式字符串读取出来并转换成对应的数据类型 |
需求:将上述字典保存到文件中 并且将来读取出来之后还是字典
import json # 先倒入json模块
d = {'name': 'LebronJames', 'pwd': 123} #指定内容
with open(r'a.txt', 'w', encoding='utf8') as f: # w模式新建一个文件
f.write(json.dumps(d)) # 将指定内容数据转换为json模式字符串
with open(r'a.txt', 'r', encoding='utf8') as e: # 打开新建的文本只读
new = json.load(e) # 将数据转换为对应的数据类型赋值给new
print(new, type(new))