json模块应用及数据库查询

pickle有局限性,与其他语言交互,可以用json

import json

d={}

d['a']='a'

d['b']=255

d['c']=('c1','c2')

d['d']=True

d['e']=None

with open('/tmp/d.json',mode='w')as fd:

       json.dumps(d,fd)

 

ls /tmp/d.json

cat /tmp/d.json

with open('tmp/d.json')as fd :

       d1=json.load(fd)

d1['a']

 

==============

改刚才的脚本

import json

d=json.dumps(dic)

变成字符串,方便传输

d2=json.loads(d)

 

服务器这端反序列化

import json

#obj=pickle.....

obj=json.loads(req.body)

python collect_info.py

不要重复的记录

python manage.py shell

sys.path

from hostinfo.modles import *

Host.objects.all()

Host.objects.get(hostname='node01.test.com')

找到了多条记录,查到就返回一条。

host=Host.objects.get(hostname='node01.test.com')

host.sn

host.osver

host.ip='192.168.1.107'

host.ip

host.save()

改写一下视图参数

try:

    host=Host..objects​.get(sn=sn)

except:

        

        host=Host()

host.hostname=hostname
host.osver=osver
host.vendor=vendor
host.product=product
host.cpu_model=cpu_model
host.cpu_num=cpu_num
host.memory=memory

换主机名试一下

hostname=hostname
如果本来已有sn,就会触发异常,要把一样的sn多的删掉        

posted on 2018-01-10 15:05  linux-paul  阅读(189)  评论(1编辑  收藏  举报

导航