Day21

总结

os模块

​ 要对大量文件和大量路径进行操作,这就依赖于os模块

import os
# 1.创建目录(文件夹)
os.mkdir(r'a')  # 使用相对路径 在当前执行文件所在的路径下创建一个a文件夹
# os.mkdir(r'b/c')  # 报错 mkdir只能创建单级目录
os.makedirs(r'c')  # makedirs可以创建单级目录
os.makedirs(r'b/c/d')  # makedirs支持创建多级目录

# 2.删除目录(文件夹)
os.rmdir(r'a')  # 可以删除单级目录
os.rmdir(r'b')  # 只能删空的单级目录
os.removedirs(r'c')  # 可以删除单级目录

# 3.查看某个路径下所有的文件名称(文件、文件夹)
print(os.listdir())

# 4.删除文件、重命名文件
os.remove(r'a.txt')
os.rename(r'a.txt', r'b.txt')

# 5.获取当前路径、切换路径
print(os.getcwd())  
os.chdir(r'c:')
print(os.getcwd())

# 6.软件开发目录规范 启动脚本兼容性操作
os.path.dirname(__file__)  # 动态获取当前执行文件所在的绝对路径
res = os.path.dirname(os.path.dirname(__file__))  # 每嵌套一层就是往上切换一层  D:/
print(os.path.abspath(__file__))  # 动态获取执行文件自身的路径  D:\pythonDay01\day21.py

# 7.判断文件是否存在
print(os.path.exists(r'day21.py'))  # True  判断所给的路径是否存在
print(os.path.isdir(r'c'))  # True  判断路径是否是一个文件夹
print(os.path.isdir(r'day21.py'))  # False  判断路径是否是一个文件夹
print(os.path.isfile(r'day21.py'))  # False  判断路径是否是一个文件
print(os.path.isfile(r'c'))  # False  判断路径是否是一个文件

# 8.拼接路径
base_dir = 'c'
exe_dir = 'day21.py'
res = os.path.join(base_dir, exe_dir)  # 自动识别当前操作系统的分隔符
print(res)  # c\day21.py

# 9.获取文件大小(字节  bytes)
print(os.path.getsize(r'day21.py'))  # 1843

sys模块

import sys
# 1.列举当前执行文件所在的sys.path(掌握)
print(sys.path)  
# 2.获取解释器版本信息(了解)
print(sys.version)  # 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)]
# 3.获取平台信息(了解)
print(sys.platform)  # win32
# 4.自定义命令行操作
print(sys.argv)

json模块

json是用来进行语言之间的数据交换的,它可以在任意语言之间进行

'''
	不同语言之间无法直接进行数据交互
	eg:
		{'name':'jason'}在python中是字曲,但是其他语言不叫字典,json可以将字典转换成json格式,再将json格式的数据发给js,js通过json其他操作转成能够识别的数据类型{'name':'jason}自定义对象
	数据基于网络传输肯定是二进制格式,在python中只有字符串可以转成bytes类型(编码encode()),
所以json格式数据 本质应该属于字符串类型
'''
json.dumps()        序列化
    将python数据类型转换成json格式字符串
json.loads()        反序列化
    将json格式字符串转换成对应的数据类型

import json
d = {'name':'jason','age':20}
print(d, type(d))  # {'name': 'jason', 'age': 20} <class 'dict'>
res = json.dumps(d)
print(res, type(res))  # {"name": "jason", "age": 20} <class 'str'>
res = json.loads(res)
print(res, type(res))  # {'name': 'jason', 'age': 20} <class 'dict'>


# 不是所有数据类型都支持序列化
"""
    +-------------------+---------------+
    | Python            | JSON          |
    +===================+===============+
    | dict              | object        |
    +-------------------+---------------+
    | list, tuple       | array         |
    +-------------------+---------------+
    | str               | string        |
    +-------------------+---------------+
    | int, float        | number        |
    +-------------------+---------------+
    | True              | true          |
    +-------------------+---------------+
    | False             | false         |
    +-------------------+---------------+
    | None              | null          |
    +-------------------+---------------+
"""

subprocess模块

import subprocess
res = subprocess.Popen('ls',
                       shell=True,
                       stdout=subprocess.PIPE,
                       stderr=subprocess.PIPE
                       )
print('stdout',res.stdout.read().decode('utf8'))  # 获取正确命令执行之后的结果
print('stderr',res.stderr.read().decode('utf8'))  # 获取错误命令执行之后的结果
# ls在终端的是查看当前路径下所有的文件名
# subprocess模块可以实现远程操作其他计算机的功能

学了好多模块有点记不过来

:

posted @ 2022-03-30 21:28  有梦想的阿九  阅读(38)  评论(0)    收藏  举报