07 json与os模块(进阶)

Posted zcmq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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数组,或子对象。

PythonJSON
字典 对象
列表或元组 数组
字符串 字符串
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学习之函数进阶三

进阶第四课 Python模块之os

os模块,sys模块,json / pickle模块,logging模块

常用模块一(os模块序列化模块(json,pickle))

Atom编辑器入门到精通 Atom使用进阶

python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)