知识点1 时间模块之datetime模块
1.datetime模块
import datetime
res1 = datetime.datetime.now()
res2 = datetime.datetime.today()
print(res1)
print(res2)
print(res1.year)
print(res1.month)
print(res1.day)
print(res1.weekday())
print(res1.isoweekday())
res3 = datetime.date.today()
print(res3)
import datetime
print(datetime.datetime.utcnow())
res4 = datetime.datetime(2022, 7, 15, 12, 30, 00)
print('指定日期:', res4)
知识点2 os模块
import os
os.mkdir(r'a')
- 2.makedirs() 创建多级目录(同样也可以创建单级目录)
import os
os.makedirs(r'aaa/bbb/ccc')
os.mkdir(r'z')
import os
os.rmdir('a')
- 4.removedirs() 删除多级"无数据"目录
os.removedirs(r'E:\Practices\aaa\bbb\ccc')import os
os.mkdir(r'a')
- 5.listdir() 列举出指定路径下的所有文件名称(文件,目录)
import os
print(os.listdir(r'E:\Practices\每日作业'))
import os
os.rename(r'a.txt', r'aaa.txt')
import os
os.remove(r'aaa.txt')
- 8.getcwd() 获取当前执行文件所在的绝代路径目录
import os
print(os.getcwd())
import os
print(os.path.abspath(__file__))
- 10.dirname(__ file__) 获取当前文件所在的目录路径
import os
print(os.path.dirname(__file__))
- 11.exists() 判断路径是否存在(文件,目录)
import os
print(os.path.exists(r'喵咪.py'))
print(os.path.exists(r'a'))
import os
print(os.path.isdir(r'aaa/bbb/ccc/ddd.py'))
print(os.path.isdir(r'aaa/bbb/ccc'))
import os
print(os.path.isfile(r'E:\Practices\aaa\bbb\ccc\ddd.py'))
print(os.path.isfile(r'E:\Practices\aaa\bbb\ccc'))
import os
import os
path1 = 'ddd.py'
path2 = r'E:\aaa\bbb\ccc'
print(os.path.join(path2, path1))
import os
print(os.path.getsize(r'喵咪.py'))
知识点3 sys模块
1.基本方法
import sys
print(sys.path)
print(sys.version)
print(sys.platform)
2.sys.argv的用法
res = sys.argv
'''需求 命令行执行当前文件必须要提供用户名和密码 否则不准执行'''
if len(res) == 3:
username = res[1]
password = res[2]
if username == 'jason' and password == '123':
print('您可以正在执行该文件')
else:
print('用户名或密码错误')
else:
print('请填写用户名和密码 二者不可或缺')
知识点4 json模块
1.概念
- json模块也称之为序列化模块,是不用编程语言之间交流的媒介,在网络层起到传输数据的功能
2.json数据是什么格式的?
- 数据基于网络传输肯定是二进制 那么在python中只有字符串可以调用encode方法转成二进制数据 所以json格式的数据也属于字符串
3.json数据的特征?
- 双引号
- eg: {“name”: “jason”, “age”: 18}
4.dumps() 方法
import json
res = {'name': 'egon', 'age': 18}
res1 = json.dumps(res)
with open('a', 'w', encoding='utf8') as f:
f.write(res1)
5.loads() 方法
import json
with open('a', 'r', encoding='utf8') as f:
res3 = f.read()
res4 = json.loads(res3)
print(res4)
6.dump() 方法
import json
res = {'name': 'jason', 'age': 18}
with open('a', 'w', encoding='utf8') as f:
json.dump(res, f)
7.load() 方法
- 功能:将文件中json格式字符串读取出来并转换成对应的数据类型
import json
with open('a', 'r', encoding='utf8') as f:
res = json.load(f)
print(res)
作业
第一题
"""
1.编写一个统计指定文件类型的脚本工具
输入指定类型的文件后缀
eg:.txt
并给出一个具体路径 之后统计该类型文件在该文件下的个数
ps:简单实现即可 无需优化
"""
file_type = input("请输入你要统计文件的后缀名(eg:.txt)").strip()
order_path = input("请输入你要查找的指定路径目录").strip()
res = os.listdir(order_path)
count = 0
for i in res:
if file_type in i:
count += 1
print(count)
第二题
import json
import os
base_dir = r'E:\Practices\每日作业\practice13\db'
username = input('username>>>:').strip()
username_list = os.listdir(base_dir)
print(username_list)
user_file = '%s.json' % username
if user_file not in username_list:
res = {'name': username, 'age': 18}
file_path = os.path.join(base_dir, '%s.json' % username)
with open(file_path, 'w', encoding='utf8') as f:
json.dump(res, f)
f.flush()
"""
结论:对于数据操作来说,一个
用户一个json文件更便捷
"""
第三题
"""
3.编程小练习
有一个目录文件下面有一堆文本文件
eg:
db目录
J老师视频合集
R老师视频合集
C老师视频合集
B老师视频合集
文件内容自定义即可 要求循环打印出db目录下所有的文件名称让用户选择
用户选择哪个文件就自动打开该文件并展示内容
涉及到文件路径全部使用代码自动生成 不准直接拷贝当前计算机固定路径
"""
import os
res = os.getcwd()
order_path = os.path.join(res, 'db')
res1 = os.listdir(order_path)
print(res1)
while True:
cmd = input("请输入列表中的文件名").strip()
true_path = os.path.join('db', cmd)
with open(true_path, 'r', encoding='utf8') as f:
data = f.read()
print(data)