第二十一天包和异常处理

1.json的格式化功能:

import json
data={‘username‘:[‘梨花‘,‘二愣子‘],‘sex‘:‘male‘,‘age‘:15}
json_dic2=json.dumps(data,sort_keys=True,indent=2,separators=(‘,‘,‘:‘),ensure_ascii=False)
print(json_dic2)
结果为
{
  "age":15,
  "sex":"male",
  "username":[
    "梨花",
    "二愣子"
  ]
}

注;ensure_ascii 当它为True 的时候,所有的非ascii码显示为\uxxxx序列,只需要在调用dump时将ensure_ascii设置成为False既可以显示正常的中文文字

separators 分隔符,实际上是(item_separator,dic_separator)的一个元组,默认就是(‘,‘,‘:‘),这表示dictionary内keys之间用逗号隔开,而keys和values之间用冒号隔开。

sor_keys:将数据根据keys的值进行排序

2.包的讲解:

2.1创建多个文件(包就是文件里含有__init__.py文件就是)(把解决同一类问题的模块放在同一个文件夹中成为包)(如果创建的文件已经存在,在进行编译会报错)

import os
os.makedirs(‘glance/api‘)
os.makedirs(‘glance/cmd‘)
os.makedirs(‘glance/db‘)
l=[]
l.append(open(‘glance/__init__.py‘,‘w‘))
l.append(open(‘glance/api/__init__.py‘,‘w‘))
l.append(open(‘glance/api/policy.py‘,‘w‘))
l.append(open(‘glance/api/versions.py‘,‘w‘))
l.append(open(‘glance/cmd/__init__.py‘,‘w‘))
l.append(open(‘glance/cmd/manage.py‘,‘w‘))
l.append(open(‘glance/db/models.py‘,‘w‘))
map(lambda f:f.close() ,l)

结果为

第二十一天包和异常处理

3.在python中创建包的过程: 

第二十一天包和异常处理

 4.关于包相关的调用可以使用import   和from ...import 两种,但是无论使用哪一种,无论在什么位置,再导入时必须遵循凡是导入时带点的,点的左边必须是一个包。

import glance.api.policy as t
t.get()
结果为
from policy.py
from  glance.api import policy
policy.get()
结果为
from policy.py