07 json与os模块(进阶)
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模块(进阶)的更多相关文章
- Python进阶(九)----json模块, pickle模块, os模块,sys模块,hashlib模块
Python进阶----json模块, pickle模块, os模块,sys模块,hashlib模块 一丶序列化模块 什么是序列化: 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输 ...
- python常用模块json、os、sys
一.序列化 json & pickle 模块 json--用于字符串和Python数据类型间进行转换 pickle---用于python特有的类型和Python的数据类型间进行转换 json: ...
- Python进阶5---StringIO和BytesIO、路径操作、OS模块、shutil模块
StringIO StringIO操作 BytesIO BytesIO操作 file-like对象 路径操作 路径操作模块 3.4版本之前:os.path模块 3.4版本开始 建议使用pathlib模 ...
- time模块和os模块,json模块
import time # def month(n): # time.local() # struct_time=time.strptime("%Y-%m-1","%Y- ...
- python-时间模块,random、os、sys、shutil、json和pickle模块
一.time与datetime模块 time模块: 时间戳:表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,返回类型为float类型 格式化时间字符串(Format String) ...
- python 常用模块(一): os模块,序列化模块(json模块 pickle模块 )
1.os模块 2.序列化模块:(1)json模块 和 pickle模块 一.os模块 os.path.abspath: (1)把路径中不符合规范的/改成操作系统默认的格式 import os path ...
- os模块,序列化模块,json模块,pickle模块
一.os模块os.system("bash command") 运行shell命令,直接显示 os.popen("bash command).read() 运行shell ...
- Python 自学基础(四)——time模块,random模块,sys模块,os模块,loggin模块,json模块,hashlib模块,configparser模块,pickle模块,正则
时间模块 import time print(time.time()) # 当前时间戳 # time.sleep(1) # 时间延迟1秒 print(time.clock()) # CPU执行时间 p ...
- python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
随机推荐
- JDBC操作数据库的基本步骤:
JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操 ...
- piranha配置
典型的高可用负载均衡 1)lvs + ldirectord + heartbeat lvs(ipvsadmin) 调度器,将用户请求分发到后端真实服务器,不负责健康检查 ldirectord 服务监控 ...
- Java框架安全
(一)Mybatis注入问题 Mybatis是目前比较常用的ORM的框架,一般与SpringMVC框架整合较多,但使用不当会有SQL注入的风险. Mybatis里mapper中SQL语句的写法支持两种 ...
- 用AutoHotkey重置Excel的Ctrl+Alt+方向键选择的范围
当前选择是蓝色单元格,原来的Ctrl+Alt+方向键,是选中[蓝色]到[红色]单元格的区域, 经过脚本修改后,则是[蓝色]到[黄色]的区域,应该更符合日常使用, 特别是表格比较大的时候,一直按住鼠标滚 ...
- 用python管理Cisco路由器
目前DevOps是整个运维发展的方向,Network的运维也一样.使用程序控制底层的路由器是最基本的要求之一. 本文简单解释如何用Python控制路由器,对网络设备进行配置. Python和网络设备连 ...
- 108. Convert Sorted Array to Binary Search Tree (building tree with resursion)
Given an array where elements are sorted in ascending order, convert it to a height balanced BST. Fo ...
- 20165322 2017-2018-2《Java程序设计》课程总结
20165322 2017-2018-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:做中学learning by doing个人感想 预备作业 ...
- 安装配置MySQL
安装yum install mysql-server设置开机启动chkconfig mysqld on启动mysql服务器service mysqld start 设置root的初试密码mysqlad ...
- Mac上传文件到Linux服务器
1. 打开 终端,选择 2.选择安全文件传输,输入连接主机IP 3.输入主机名 4.输入yes,然后输入主机密码,按回车结束 确认连接 输入远程主机密码 5.连接成功,上传文件 put 本地文件路径 ...
- c语言实现数组的转置
#include<stdio.h> int main (){ int i,j,m,n; ][],b[][]; printf("请输入行列式的行数:\n"); scanf ...