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. 使用auto_ptr需要注意的事项

    注:C++11 已不推荐使用,应使用scoped_ptr/shared_ptr. 部分原因就是如下的注意事项. 转自:http://patmusing.blog.163.com/blog/static ...

  2. java生成实体类的工具内部是如何实现的(mysql)

    一.认识INFORMATION_SCHEMA数据库 INFORMATION_SCHEMA数据库提供了访问数据库元数据(数据的数据)的方式 该数据库中存放有数据库名.表名,列名.列的数据类型等各种数据 ...

  3. 实现两个N×N矩阵的乘法,矩阵由一维数组表示

    此题的关键在于找到矩阵乘法的不变式! 例如: 矩阵a × 矩阵b = 矩阵ab 1 2 5 6 × 3 4 7 8 显然 ab[0] = a[0] * b[0] + a[1] * b[2] ab[1] ...

  4. cobbler自动安装

    基础环境:centos7.2 本地IP地址:192.168.56.12 网络环境:桥接模式 一.安装cobbler # rpm -ivh http://mirrors.aliyun.com/epel/ ...

  5. 关于Oracle RAC节点间免密码策略

    在RAC安装过程中无论grid或是Oracle软件都需要配置节点间免密码策略.配置方法网上有很多,oracle和可以帮你配置,此处不多说. 但是在RAC运行过程中是不需要免密码登陆的,所以在集群安装完 ...

  6. 【转载】#458 Errors While Converting Between enum and Underlying Type

    You can convert to an enum value from its underlying type by casting the underlying type (e.g. int) ...

  7. IOS KVO的实现原理

    #import "HMViewController.h" #import "HMPerson.h" @interface HMViewController () ...

  8. 【CF1009F】Dominant Indices(长链剖分优化DP)

    点此看题面 大致题意: 设\(d(x,y)\)表示\(x\)子树内到\(x\)距离为\(y\)的点的个数,对于每个\(x\),求满足\(d(x,y)\)最大的最小的\(y\). 暴力\(DP\) 首先 ...

  9. Codeforces Round #432 (Div. 2)

    A. Arpa and a research in Mexican wave Arpa is researching the Mexican wave. There are n spectators ...

  10. SP1811 【LCS - Longest Common Substring】

    \(SAM\)上匹配 我们就是需要找到两个串的最长公共子串 先对其中一个串建出\(SAM\),之后我们把另一个串放到上面跑 如果当前在\(SAM\)的状态是\(now\),下一个字符是\(c\),匹配 ...