python 第十八天(sys、basedir、os、json模块)
sys模块用途
操控python解释器本身,获取运行环境信息、命令行参数、输入输出、异常线、模块检索路径和os互补
常用属性和方法
1、sys.argv 获取命令行运行参数
2、sys.path python导入包的检索路径(用于解决模块找不到报错)
3、sys.exit() 终止python运行
4、sys.stdin 输入
sys.stdout 输出
sys.stderr 存放报错信息
5、获取python环境
6、sys.modules 存放所有已经导入过的模块
7、sys.getrecursionlimit 递归深度限制
sys.setrecursionlimit
sys和os的区别
os对应操作系统
sys对应python解释器
# """
# '''
# 1、在bin下面调用模块,在执行层,如果在其他文件目录中怎么办
# 这时候其他文件夹的bin文件是找不到非子集的文件夹内容
# 那么我们的解决办法是可以加一个绝对路径
# '''
# '''
# import sys
# sys.path.append('c:\user\admin***') # 这个是临时添加路径
# # 这么写会有问题,路径写死了,如果程序拷贝到其他电脑上路径识别就是有问题的
# '''
# # print(__file__) # 有文件路径转译问题
# '''
# import os
# print(os.path.dirname(__file__)) # 根据电脑的路径查找路径
# '''
# """
os 模块
核心作用:
让python代码扩平台操作电脑文件、文件夹。相当于用代码做资源管理能干的大多数事
四大常用功能呢
1、文件路径处理
1、 os.path.join() 智能拼接路径
2、 os.path.abspath() 获取文件的绝对路径
3、 os.path.exists() 判断文件是是否存在
os.path.isfile() 判断是不是文件
os.path.isdir() 判断是不是文件夹
os.path.getsize() 获取文件大小
4、 os.path.dirname() 获取文件名
os.path.basename() 取出文件名
2、文件文件夹的增删改查
3、系统环境、目录信息
4、调用系统命令
os.getced() 获取当前 工作目录,即当前python脚本的路径
os.chdir() 改变当前脚本工作目录,相当于shell下cd
os.curdir 返回当前目录
os.pardir 获取当前目录的父目录字符串名
os.makedirs() 可生成多层递归目录
os.remobedirs() 若目录为空,则删除,并递归到上一级目录
os.mkdir() 生成单级目录;相当于shell中mkdir dirname
os.rmdir() 删除单级空目录,若目录不为空则无法删除
os.listdir() 列出制定目录下的所有文件和子目录,包括隐藏文件并以列表方式打印
os.remove() 删除一个文件
os.rename() 重命名文件
os.stat() 获取文件
os.sep 输出操作系统 特定的路径分隔
json模块
核心作用:
实现python数据向json字符串互相转换
功能
通用跨语言数据格式,多用于接口传参、配置文件、本地存数据
注意事项
json只有双引号,不支持python的集合、日期、bytes
四大核心函数:
1、json.dumps() python对象转化为json字符串
2、json.loads() json字符串转换为python对象
3、json.dump() python数据直接写入json文件
4、json.load() 读取json文件直接得到python数据
注意:简要区分
1、带s:操作字符串
dumps:py → 字符串
loads:字符串 → py
2、不带s:操作文件
dump:py 写入 json 文件
load:json 文件读出为 py
四大核心函数之 1
import json data = { "name": "小明", "age": 18, "is_student": True, "hobby": ["打球", "看书"], "info": None } # 普通转换 json_str = json.dumps(data) print('打印输出1',json_str) # indent=4 格式化换行,方便人阅读;ensure_ascii=False 正常显示中文 json_str2 = json.dumps(data, indent=4, ensure_ascii=False) print('打印输出2',json_str2)
四大核心函数之 2
json_str = ''' { "name": "小明", "age": 18 } ''' python_data = json.loads(json_str) print('打印输出3',python_data["name"]) # 直接字典取值 print('打印输出4',type(python_data)) # <class 'dict'>
四大核心参数之 3
import json data = {"name": "小红", "score": 95} # w写入模式,utf-8编码保证不乱码 with open("student.json", "w", encoding="utf-8") as f: json.dump(data, f, indent=4, ensure_ascii=False)
四大核心参数之 4
import json with open("student.json", "r", encoding="utf-8") as f: res = json.load(f) print(res["score"]) print(type(res))

浙公网安备 33010602011771号