datetime模块,os模块,sys模块,json模块

知识点1 时间模块之datetime模块

1.datetime模块
import datetime

# 获取当前时间:年月日,时分秒
res1 = datetime.datetime.now()
res2 = datetime.datetime.today()

print(res1)  # 2022-07-15 13:15:50.940219
print(res2)  # 2022-07-15 13:15:50.940220

print(res1.year)  # 2022
print(res1.month)  # 7
print(res1.day)  # 15
print(res1.weekday())  # 4
print(res1.isoweekday())  # 5

# 获取当前时间:年月日
res3 = datetime.date.today()  # 2022-07-15
print(res3)
import datetime

# 获取东一区时间
print(datetime.datetime.utcnow())  # 2022-07-15 05:24:35.242673

# 指点时间
res4 = datetime.datetime(2022, 7, 15, 12, 30, 00)
print('指定日期:', res4)  # 指定日期: 2022-07-15 12:30:00

知识点2 os模块

  • 1.mkdir() 创建单级目录
import os

os.mkdir(r'a')
  • 2.makedirs() 创建多级目录(同样也可以创建单级目录)
import os

os.makedirs(r'aaa/bbb/ccc')
os.mkdir(r'z')
  • 3.rmdir() 删除单级"无数据"的目录
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\每日作业'))
  • 6.rename() 重命名文件
import os

os.rename(r'a.txt', r'aaa.txt')
  • 7.remove() 删除文件
import os

 os.remove(r'aaa.txt')
  • 8.getcwd() 获取当前执行文件所在的绝代路径目录
import os

print(os.getcwd())
  • 9.abspath() 获取当前文件的绝对路径
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'))
  • 12.isdir() 判断是否是目录
import os

print(os.path.isdir(r'aaa/bbb/ccc/ddd.py'))  # False
print(os.path.isdir(r'aaa/bbb/ccc'))  # True
  • 13.isfile() 判断文件是否存在
import os

print(os.path.isfile(r'E:\Practices\aaa\bbb\ccc\ddd.py'))  # True
print(os.path.isfile(r'E:\Practices\aaa\bbb\ccc'))  # False
  • 14.join() 路径拼接
import os

import os

path1 = 'ddd.py'
path2 = r'E:\aaa\bbb\ccc'
print(os.path.join(path2, path1))  # E:\aaa\bbb\ccc\ddd.py
  • 15.获取文件大小bytes
import os

print(os.path.getsize(r'喵咪.py'))  # 85

知识点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() 方法
  • 功能:将其他数据类型转换成json格式字符串
import json

res = {'name': 'egon', 'age': 18}
res1 = json.dumps(res)

with open('a', 'w', encoding='utf8') as f:
    f.write(res1)
5.loads() 方法
  • 功能:将json格式字符串转化成对应的数据类型
import json


with open('a', 'r', encoding='utf8') as f:
    res3 = f.read()
    res4 = json.loads(res3)
    print(res4)  # {'name': 'egon', 'age': 18}
6.dump() 方法
  • 功能:将其他数据数据以json格式字符串写入文件
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)  # {'name': 'jason', 'age': 18}

作业

第一题
"""
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)

第二题

# 2.针对json实操 尝试单文件多用户(一行一个)是否可实现 哪个更方便
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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值