datetime模块
与time模块相似 都是与时间操作相关的模块
import datetime
res = datetime.datetime.today()
res1 = datetime.date.today()
print(res.year)
print(res.month)
print(res.weekday())
print(res.isoweekday())
"""
date 年月日
datetime 年月日 时分秒
"""
t1 = datetime.timedelta(days=1)
print(res1 + t1)
print(res1 - t1)
"""
timedelta括号内有很多参数 没有的可以通过换算时间换算得出
"""
补充说明
print(datetime.datetime.now())
print(datetime.datetime.utcnow())
c = datetime.datetime(2022, 6, 28, 9, 25)
print('指定日期:',c)
os模块
os模块主要是跟当前程序所在的操作系统打交道
import os
1.创建目录
os.makedirs(r'eee')

2.删除目录
os.rmdir(r'aaa')
os.rmdir(r'ccc')
os.removedirs(r'ccc')
os.removedirs(r'bbb\ccc\ddd')

3.列举指定路径下的文件名称(文件、目录)
print(os.listdir())
print(os.listdir(r'D:\\'))
4.重命名文件 删除文件
import os
os.rename(r'a.txt',r'aaa.txt')
os.remove(r'aaa.txt')
5.获取当前工作路径(所在的路径) 绝对路径
print(os.getcwd())
os.chdir(r'..')
os.mkdir(r'hahaha')
print(os.getcwd())
6.与程序启动文件相关
print(os.path.abspath(__file__))
print(os.path.dirname(__file__))
7.判断路径是否存在(文件、目录)
print(os.path.exists(r'ATM'))
print(os.path.exists(r'aaa'))
print(os.path.exists(r'01 datetime模块.py'))
print(os.path.exists(r'a.txt'))
print(os.path.isdir())
print(os.path.isdir(r'ccc'))
print(os.path.isdir(r'01 datetime模块.py'))
print(os.path.isfile())
print(os.path.isfile(r'ccc'))
print(os.path.isfile(r'01 datetime模块.py'))
8.拼接路径
relative_path = 'a.txt'
'''拼接a.txt的绝对路径'''
absolute_path = r'D:pythonProject\day23\ccc\ddd\eee'
print(absolute_path + relative_path)
'''涉及到路径拼接 不要使用加号 建议使用os模块的里面join方法'''
res = os.path.join(absolute_path,relative_path)
print(res)
ps:join方法也可以自动识别当前所在的操作系统并自动切换正确的分隔符 windows用\ mac用/
9.获取文件大小 bytes
print(os.path.getsize(r'02 os模块.py'))
print(os.path.getsize(r'a.txt'))
Sys模块
** Sys模块主要是跟Python解释器打交道**
import sys
print(sys.path)
print(sys.version)
print(sys.platform)
res = sys.platform
'''需求 命令执行当前文件必须提供用户名和密码 否则不执行 '''
if len(res) == 3:
username = res[1]
password = res[2]
if username == 'curry' and password == '123':
print('您可以正在执行该文件')
else:
print('用户名或密码错误')
else:
print('请填写用户名和密码 二者不可或缺')
json模块
json模块也可以称为序列化模块
json模块是不同编程语言之间数据交互必备的模块(处理措施)
json格式的数据应该是什么
数据基于网络传输肯定是二进制 那么在python中只有字符串可以调用encode方法转成二进制数据 所以json格式的数据也属于字符串
json格式的数据有一个非常明显的特征
首先肯定是字符串 其次引号是标志性的双引号
d = {'name:''curry','pwd': 123}
with open(r'b.txt','w',encoding='utf8') as f:
f.write(str(d))
with open(r'b.txt','r',encoding='utf8') as f:
data = f.read()
print(data, type(data))
import json
res = json.dumps(d)
print(res, type(res))
{"name":"curry","pwd":123}<class 'str'>
d1 = {"name":"curry","pwd":123}
print(d1)
res1 = json.loads(res)
print(res1,type(res1))
import json
with open(r'b.txt','w',encoding='utf8') as f:
f.write(json.dumps(d))
json.dump(d,f)
with open(r'b.txt','r',encoding='utf8') as f:
data = f.read()
res = json.loads(data)
print(res,type(res))
res = json.load(f)
print(res,type(res))
"""
dumps() 将其他数据类型转换成json格式字符串
loads() 将json格式字符串转换成对应的数据类型
dump() 将其他数据数据以json格式字符串写入文件
load() 将文件中json格式字符串读取出来并转换成对应的数据类型
"""
json模块的实参
import json
import os
base_dir = r'D:\pythonProject\day23\db'
username = input('username>>>:').strip()
username_list = os.listdir(base_dir)
if username in username_list:
file_path = os.path.join(base_dir,username)
with open(file_path,'r',encoding='utf8') as f:
data = json.load(f)
print(data,type(data))
print(os.listdir(r'D:pythonProject\day23\db'))
base_dir = os.path.dirname(__file__)
db_path = os.path.join(base_dir,'db')
if not os.path.exists(db_path):
os.mkdir(db_path)
username = input('username>>>:').strip()
password = input('password>>>:').strip()
user_dict = {'username': username,
'password': password,
'balance': 10000,
'shop_car': []
}
file_path = os.path.join(db_path, '%s'%username)
with open(file_path,'w',encoding='utf8') as f:
json.dump(user_dict,f)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)