07 json与os模块(进阶)
Posted zcmq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07 json与os模块(进阶)相关的知识,希望对你有一定的参考价值。
阶段一 、数据交换
1、json的基本介绍
JSON全名是javascript Object Notation(即:JavaScript对象标记)它是JavaScript的子集。
前端和后端进行数据交互,其实就是JS和Python进行数据交互
2、json模块 API
接口一:json.dumps(obj) # 将obj这个对象,变成JSON字符串
接口二:json.loads(s) # 将s这个JSON字符串,转换成Python的数据类型
接口三:json.dump
接口四:json.load
3、json注意事项
1.名称必须用双引号(即:””)来包括
2.值可以是双引号包括的字符串、数字、true、false、null、JavaScript数组,或子对象。
Python | JSON |
---|---|
字典 | 对象 |
列表或元组 | 数组 |
字符串 | 字符串 |
int或float | 数字 |
True或False | true或false |
None | null |
4、实例
import json ? # 接口,用于数据转化,解码编码 # print(json.__all__) # 查看json里面所有方法 ? data = { ‘name‘: ‘shiwei‘, ‘age‘: 18, ‘list‘: [1,2,3], ‘tuple‘: (4,5,6), ‘bool‘: True, ‘kong‘: None } # print(data) # 打印原本的python数据 # json_data = json.dumps(data) # python对象转换成json对象,序列化过程 # print(json_data) # print(type(json_data)) ? # json转换成python # json_dict = json.loads(json_data) # print(json_dict) # print(type(json_dict)) ? # dump load 针对文件使用 ? # 序列化,python转换成json with open(‘test.json‘,‘w+‘) as f: json.dump(data,f) ? # 反序列化过程,json转换成python with open(‘test.json‘,‘r‘) as f: json_dict = json.load(f) print(json_dict)
阶段二、文件与路径操作
1、os模块的目录及文件操作
显示当前路径:os.getcwd() |
---|
展示当前目录内容:os.listdir(path) |
改变当前路径:os.chdir(path) |
创建目录:os.mkdir |
删除目录:os.rmdir |
创建文件: f = open(‘a.aaa‘,‘w+‘) |
删除文件:os.remove |
重命名文件、文件夹:os.rename |
重命名文件、文件夹、目录:os.renames |
实例:
import os ? # print(os.name) # 如果用windows,会打印nt,如果是linux,打印posix ? path = os.getcwd() # 显示当先路径,相当于pwd # print(path) ? # print(os.listdir(‘/home/pyvip‘)) # 显示当前目录下的所有内容,可以加绝对路径 ? # os.chdir(‘/home/pyvip‘) # 改变路径 # print(os.getcwd()) ? # os.mkdir(‘aaa‘) # 创建文件夹 # os.rmdir(‘aaa‘) # 删除文件夹 ? # f = open(‘a.aaa‘,‘w+‘) #创建文件 # f.close() ? # os.remove(‘a.aaa‘) # 删除文件,可以加绝对路径 ? # os.rename(‘test.json‘, ‘666.json‘) # 对文件重命名 # os.rename(‘aaa‘,‘bbb‘) # 对文件重命名 # os.rmdir(‘bbb‘) ? # 不仅可以修改文件、文件夹,同时也可以修改目录 # os.renames(‘/home/pyvip/a/b/a.aaa‘,‘/home/pyvip/a/c/b.bbb‘)
2、os.path 模块的路径操作
路径拼接:os.path.join |
---|
所在目录 /父级目录:os.path.dirname |
基本短路径:os.path.basename |
绝对路径:os.path.abspath |
规范化路径: os.path.normpath |
资源大小: os.path.getsize |
资源时间:os.path.getctime/ |
getatime/ |
getmtime |
路径是否存在:os.path.exists |
是否是存在的目录:os.path.isdir |
是否是存在的文件:os.path.isfile |
是否是绝对路径:os.path.isabs |
实例:
import os ? # print(os.name) # 如果用windows,会打印nt,如果是linux,打印posix ? path = os.getcwd() # 显示当先路径,相当于pwd # print(path) ? # print(os.path.join(path,‘image‘,‘aaa.png‘)) ? # print(os.path.dirname(path)) # 查看父级目录 ? # print(os.path.basename(path)) # 基本短路径 ? # print(os.path.abspath(path)) # 绝对路径 ? # path2 = os.path.join(path,‘..‘,‘image‘,‘666.json‘) # print(path2) # print(os.path.normpath(path2)) # 规范化路径 ? # print(os.path.getsize(path)) # 显示资源大小 ? # print(os.path.getctime(path)) # 资源时间,显示时间戳 # print(os.path.getatime(path)) # print(os.path.getmtime(path)) ? # print(os.path.exists(path)) # 路径是否存在 ? # print(os.path.isdir(‘aaa‘)) # 目录是否存在 ? # print(os.path.isfile(‘666.json‘)) # 文件是否存在 ? # print(os.path.isabs(‘..‘)) # 是否是绝对路径
以上是关于07 json与os模块(进阶)的主要内容,如果未能解决你的问题,请参考以下文章
os模块,sys模块,json / pickle模块,logging模块
python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)