datetime模块
import datetime
res = datetime.datetime.today()
res1 = datetime.date.today()
print(res)
print(res1)
print(res.year)
# timedate里面可以放置多种参数,没有的时间可以通过换算得到
res2 = datetime.timedelta(days = 3)
print(res1-res2)
print(datetime.datetime.utcnow())
os模块主要与操作系统交互
import os
1.创建目录 mkdir/makedirs
os.mkdir(r'aaa')
os.mkdir(r'aaa\c')
创建一个单层的目录,目录存在报错,不能创多层
os.mkdir(r'aaa\cc\d')
os.makedirs(r'bbb\ccc\ddd')
os.makedirs(r'ccc')
创建一个多层的目录,目录存在报错,可以创单层
2.删除目录,文件 rmdir/removedirs/remove
os.rmdir(r'ddd')
os.rmdir(r'aaa\c')
删除一个内部没有东西的单层目录
os.removedirs(r'bbb\ccc\ddd')
删除一个内部没有东西的多层目录 由内而外
os.remove(r'a.txt')
os.remove(r'D:\pycharmProjects\day24\os模块\ccc\a.txt')
删除当前执行文件所在根目录的指定文件
3. 列举指定路径的文件名称 listdir
print(os.listdir())
括号内不填写,展示当前工作路径下的文件与文件夹,以列表的形式展现
print(os.listdir(r'day24'))
括号内填写,要填入目录的绝对路径,才会以列表的形式展示,其他格式路径会报错
4.重命名目录和文件 rename
os.rename(r'aaa', r'ccc')
os.rename(r'os模块', r'os')
os.rename(r'os.py', r'ooss.py')
可以对当前工作路径目录,文件重命名。
5.获取路径 getcwd获取路径,chdir改变目录
print(os.getcwd())
当前工作的路径,得到的是绝对路径
os.chdir(r'..')
os.mkdir(r'123')
print(os.getcwd())
在相对路径创建新目录,改变当前工作目录到新目录
os.chdir(r'D:\pycharmProjects\day24\123')
print(os.getcwd())
改变当前工作目录到指定的路径,获取新目录的绝对路径
print(os.path.abspath(__file__))
print(os.path.dirname(__file__))
获取当前文件所在目录的绝对路径
6.判断路径是否存在 exists/isdir/isfile
print(os.path.exists(r'D:\pycharmProjects\day24\123'))
print(os.path.exists(r'ccc'))
print(os.path.exists(r'222'))
括号里可以放入绝对路径,或者同一级的文件名,目录名,没有的会输出False
print(os.path.isdir(r'D:\pycharmProjects\day24\123'))
print(os.path.isdir(r'ccc'))
print(os.path.isdir(r'ooss.py'))
isdir只能用于获取输入的路径是不是目录(文件夹)
print(os.path.isfile(r'D:\pycharmProjects\day24\123'))
print(os.path.isfile(r'ccc'))
print(os.path.isfile(r'ooss.py'))
7.路径的拼接 join
absolute_path ='D:\pycharmProjects\day24\os模块'
relative_path ='ooss.py'
res = os.path.join(absolute_path, relative_path)
print(res)
路径拼接勿用+,建议使用os模块的join方法。长路径放前面,文件,或文件名放后面
* join方法可以自动识别当前操作系统并切换正确的分隔符。windows用\ mac用/
8.获取文件的大小 bytes
print(os.path.getsize(r'大小.txt'))
获取到的是文件字节大小
sys模块
import sys
res = sys.argv
if len(res) == 3:
username = res[1]
password = res[2]
if username == 'jason' and password == '123':
print('您可以正在执行该文件')
else:
print('用户名或密码错误')
json模块(序列化模块)
- json与编程语言的交互

d = {'name': 'jason', 'pwd': 123}
将上述字典保存到文件中 并且将来读取出来之后还是字典
1.我们学过将字典文件的读写,但是仅以此方式写入取出来的虽然样貌是字典但是类型却是字符串。
2.所以我们可以通过json模块来解决
import json
d = {'name': 'jason', 'pwd': 123}
res = json.dumps(d)
print(res, type(res))
res1 = json.loads(res)
print(res1,type(res1))
dumps()
loads()
d = {'name': 'jason', 'pwd': 123}
import json
with open(r'b.txt','w',encoding ='utf8')as f:
f.write(json.dumps(d))
with open(r'b.txt','r', encoding='utf8') as f :
data = f.read()
res =json.loads(data)
print(res,type(res))
import json
with open(r'b.txt', 'w', encoding='utf8') as f:
json.dump(d, f)
with open(r'b.txt', 'r', encoding='utf8') as f:
res = json.load(f)
print(res,type(res))
json的实参
import json
import os
base_dir = r'D:\pycharmProjects\day24\os模块'
username = input('username>>>').strip()
username_list = os.listdir(base_dir)
if username in username_list:
file_path = os.listdir(base_dir)
with open(file_path, 'r', encoding='utf8') as f:
data = json.load(f)
print(data,type(data))
例1:
import json
import os
print(os.listdir(r'D:\pycharmProjects\day24\os模块'))
base_dir = os.path.dirname(__file__)
db_path = os.path.join(base_dir,'')
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': 15000,
'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)
- 输出结果
