python24-内置模块-datetime-os-sys-json

今日学习

datetime 模块

os 模块

sys模块

json模块

json模块的实参

datetime 模块

date :年月日

datetime:年月日 时分秒

timedelta:时间差值计算

import datetime
res = datetime.datetime.now()     #现在时间
print(res)
--------执行结果------------------------
# 2022-07-15 16:12:51.981066
res = datetime.datetime.today()   #今天时间
print(res)
# 2022-07-15 16:12:51.981066
--------执行结果------------------------
print(res.year)           #时间模块的内置参数:只打印年份
2022
print(res.month)          #时间模块的内置参数:纸打印月份
7
print(res.weekday())	  #时间模块的内置参数:从0开始算,今天周五,打印4
4
print(res.isoweekday())   #时间模块的内置参数:1~7天,今天周五,打印5
5
---------------timedelta例子-------------------------
tl = datetime.timedelta(days=3)     #获取一个三天的时间点
print(tl + res)            	#打印今天时间 + 3天
# 2022-07-18 16:13:57.113370
------------指定时间----------------------
#指定时间         不常用,用不到
c = datetime.datetime(2017,12,3,7,22)
print(c)
2017-12-03 07:22:00

OS模块【重要】

os模块主要是跟当前程序所在的操作系统打交道

内置功能 作用
os.mkdir() 创建单级目录
os.mkdirs() 创建多级别目录
os.rmdir() 删除单级别目录【有数据的目录无法删除】
os.remove() 删除文件
os.removedirs() 删除目录和递归目录【由内而外递归删除目录,遇到有数据目录停止执行】
os.rename() 重命名文件
os.renames() 重命名文件夹 【文件夹内有数据文件也可以进行目录重命名】
os.listdir() 列举指定路径下的文件名称(文件和目录)
os.getcwd() 获取当前路径
os.chdir() 切换路径
os.path.abspath(双下file)) 当前文件的绝对路径
os.path.dirname(双下file) 当前目录的绝对路径
os.path.exists() 判断文件是否存在 返回布尔值
os.path.isdir() 判断是否为目录 返回布尔值
os.path.isfile() 判断是否为文件 返回布尔值
os.path.join() 文件路径拼接 【推荐使用】不推荐 +
os.path.getsize 获取文件大小
import os                       #调用os模块
#创建
os.mkdir(r'aaa')                       #创建单级目录
-------------------------------------------
#删除
os.rmdir(r'aaa')    				 #删除单级别目录
------------------------------------------
os.remove('ccc\__init__.py')  	     #删除文件
----------------------------------------------------------
os.remove('ccc\ddd\__init__.py') 	 #删除ccc文件下的ddd目录的文件
-------------------------------------------------------
os.remove('ccc/ddd/eee/a.py')        #删除目录下的a.py文件
--------------------------------------------------
os.remove(r'ccc\ddd\eee\b.py')       #删除目录下的b.py文件 r转义符号,意思是不转义
---------------------------------------------------
os.removedirs(r'ccc')                # 针对有数据的目录也无法删除
----------------------------------------------
os.removedirs(r'bbb\ccc\ddd')        # 由内而外递归删除空目录 直到有数据的目录为止
===================	【列举】和【重命名】 ============================
print(os.listdir())    #列举指定路径下的文件名称(文件,目录)
--------------执行结果-------------------------
['.idea', 'ccc', 'mmm', '__pycache__']
#重命名
os.rename(r'mmm\a.py', r'mmm\b.py')
==================【获取当前路径】和【切换路径】===========================
#获取当前工路径
print(os.getcwd())
------执行结果---------
D:\PycharmProjects\01

#切换路径
os.chdir(r'\ccc\eee')
print(os.getcwd())        #查看
=================【获取当前文件路径】和【当前目录路径】===============================
#6 与程序启动文件相关
print(os.path.abspath(__file__))  #获取当前文件的路径 #可以不记
--------------执行结果-------------------------------------
# D:\PycharmProjects\01\mmm\OS_Module.py
# print(os.path.dirname(__file__))  # 获取当前文件所在的目录路径(必须得记)
-------------执行结果-----------------
D:\PycharmProjects\01\mmm
    
============================【判断文件】和【判断目录】===================================
#判断返回布尔值
#判断文件
# print(os.path.exists('ATM'))
# False
# print(os.path.exists(r'aaa'))
# False
# 判断目录
# print(os.path.exists('01 OS_Module.py'))
# print(os.path.isdir('mmm'))     #mmm是我创建的目录
# True
# print(os.path.isfile(''))   # 路径是否是文件
# False
==========================【拼接路径 join方法】================================
#拼接路径
relative_path = 'a.py'
absolute_path = r'D:\PycharmProjects\01\ccc\ddd\eee'
print( absolute_path + relative_path ) #"""涉及到路径拼接 不要使用加号 建议使用os模块的里面join方法"""
res = os.path.join(absolute_path,relative_path)
print(res)
------------执行结果---------------------------
D:\PycharmProjects\01\ccc\ddd\eee\a.py
    
ps: join方法可以自动识别当前所在的操作系统并自动切换正确的分隔符
windows用\   mac用 /
=============================【获取文件大小】===============================
#获取文件大小 bytes
print(os.getcwd())
print(os.path.getsize(r'mmm\OS_Module.py'))
2011

sys模块

sys模块主要是跟python解释器打交道
import sys
# print(sys.path)  # 结果是列表
# print(sys.version)  # 查看解释器信息
# print(sys.platform)  # 查看当前平台
-----------------------【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('请填写用户名和密码 二者不可或缺')

json模块【重要】

  • 重要特点

    json格式的数据有一个非常明显的特征
    ​ 首先肯定是字符串 其次引号是标志性的双引号

json模块也称之为序列化模块
json模块是不同编程语言之间数据交互必备的模块(处理措施)
-----------------------------------------------------------------    
json格式的数据应该是什么
	数据基于网络传输肯定是二进制 那么在python中只有字符串可以调用encode方法转成二进制数据 所以json格式的数据也属于字符串
----------------------------------------------------------
json格式的数据有一个非常明显的特征
	首先肯定是字符串 其次引号是标志性的双引号
-----------------------------------------------------------
dumps()     将其他数据类型转换成json格式字符串
loads()     将json格式字符串转化成对应的数据类型

dump()      将其他数据数据以json格式字符串写入文件
load()      将文件中json格式字符串读取出来并转换成对应的数据类型
--------------例子----------------------------
d = {'name': 'jason', 'pwd': 123}
# 需求:将上述字典保存到文件中 并且将来读取出来之后还是字典
--------------------------------------------------
#jason模块,序列化模块
# import json
z = {'name': 'jason', 'pwd': 123}

import json
re = json.dumps(z)
print(re,type(re)) 
------------执行结果--------------------------
{"name": "jason", "pwd": 123} <class 'str'> 


======================反序列化==============================
d = {'name': 'jason', 'pwd': 123}
import json
res = json.dumps(d)     # 序列化
res1 = json.loads(res)  # 反序列化
print(res1,type(res1))
---------执行结果------------------------
{'name': 'jason', 'pwd': 123} <class 'dict'>
posted @ 2022-07-15 20:35  名字长的像一只老山羊  阅读(24)  评论(0编辑  收藏  举报