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模块(进阶)的更多相关文章

  1. Python进阶(九)----json模块, pickle模块, os模块,sys模块,hashlib模块

    Python进阶----json模块, pickle模块, os模块,sys模块,hashlib模块 一丶序列化模块 什么是序列化: ​ 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输 ...

  2. python常用模块json、os、sys

    一.序列化 json & pickle 模块 json--用于字符串和Python数据类型间进行转换 pickle---用于python特有的类型和Python的数据类型间进行转换 json: ...

  3. Python进阶5---StringIO和BytesIO、路径操作、OS模块、shutil模块

    StringIO StringIO操作 BytesIO BytesIO操作 file-like对象 路径操作 路径操作模块 3.4版本之前:os.path模块 3.4版本开始 建议使用pathlib模 ...

  4. time模块和os模块,json模块

    import time # def month(n): # time.local() # struct_time=time.strptime("%Y-%m-1","%Y- ...

  5. python-时间模块,random、os、sys、shutil、json和pickle模块

    一.time与datetime模块 time模块: 时间戳:表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,返回类型为float类型 格式化时间字符串(Format String) ...

  6. python 常用模块(一): os模块,序列化模块(json模块 pickle模块 )

    1.os模块 2.序列化模块:(1)json模块 和 pickle模块 一.os模块 os.path.abspath: (1)把路径中不符合规范的/改成操作系统默认的格式 import os path ...

  7. os模块,序列化模块,json模块,pickle模块

    一.os模块os.system("bash command") 运行shell命令,直接显示 os.popen("bash command).read() 运行shell ...

  8. Python 自学基础(四)——time模块,random模块,sys模块,os模块,loggin模块,json模块,hashlib模块,configparser模块,pickle模块,正则

    时间模块 import time print(time.time()) # 当前时间戳 # time.sleep(1) # 时间延迟1秒 print(time.clock()) # CPU执行时间 p ...

  9. 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 ...

随机推荐

  1. matlab练习程序(旋转、径向模糊)

    还记得过去写过径向模糊,不过当时效果似乎不好. 这次效果还可以,程序中用的算法是: 1.求当前处理点和图像中心点之间的距离r与角度ang; 2.通过对r的修改得到径向模糊. 3.通过对ang的修改得到 ...

  2. 如何禁用 Azure 虚拟机的日期时间同步

    问题描述 由于 Azure 虚拟机的特殊性,物理主机会实时同步虚拟机的时间和日期.当有特殊需求时,客户想要停止日期时间的同步,但是一些常见的关闭 NTP 服务等操作都会失败. 解决方案 Importa ...

  3. 生成centos7 安装脚本

    [root@us-1-217 install]# cat gen7.py #!/usr/bin/env python # -*- coding: utf-8 -*- import os, crypt ...

  4. 极点五笔词库DIY

    2004年没啥好的拼音输入法,试了清华紫光输入法一段时间,也相当不满意, 于是在2005年开始学五笔,很快就选定极点五笔了, 使用过程中没啥不满意的,反而还有惊喜: 重装系统后,双击就安装好输入法了, ...

  5. ZooKeeper 典型应用场景-负载均衡

    负载均衡(Load Balance)是一种相当常见的计算机网络技术,用来对多个计算机(计算机集群).网络连接.CPU.硬盘驱动器或其他资源进行分配负载,以达到优化资源使用.最大化吞吐率.最小化响应时间 ...

  6. 用一个实际例子理解Docker volume工作原理

    要了解Docker Volume,首先我们需要理解Docker文件系统的工作原理.Docker镜像是由多个文件系统的只读层叠加而成.当一个容器通过命令docker run启动时,Docker会加载只读 ...

  7. python入门22 pymssql模块(python连接sql server查询)

    安装 pip install pymssql 连接数据库 pymssql.connect() # coding:utf-8 import pymssql server = '192.168.8.1' ...

  8. Android(java)学习笔记51:ScrollView用法

    1. 理论部分 (1)ScrollView和HorizontalScrollView是为控件或者布局添加滚动条 (2)上述两个控件只能有一个孩子,但是它并不是传统意义上的容器 (3)上述两个控件可以互 ...

  9. Shell脚本学习之expect命令

     转载:http://blog.csdn.net/leexide/article/details/17485451 目录(?)[-] 一概述 二expect的安装 一Tcl 安装 二expect 安装 ...

  10. HDU 5527 贪心

    Too Rich Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...