python json动态创建

请问python怎样动态生成下面的json啊?lsd里列表里边循环动态添加新的对象。

{
  "lsd":[
    {
      "lsdcode":"A004",
      "lsdname":"双榆树店",
      "lsdwg":"193.168.4.254",
      "lsdfwq": "193.168.4.3"
    },
    {
      "lsdcode":"A026",
      "lsdname":"玉泉路店",
      "lsdwg":"193.168.26.254",
      "lsdfwq": "193.168.26.2"
    },
    {
      "lsdcode":"A035",
      "lsdname":"学院路店",
      "lsdwg":"193.168.35.254",
      "lsdfwq": "193.168.35.2"
    }

   ]

}

请指点,刚刚接触,麻烦带下注释,谢谢。

"lsd"对应的值不是个列表嘛,你使用append不就可以往里面加值

动态创建json,目前有2个问题,请帮忙解答,谢谢
问题1:字典动态添加逗号,但是多了一个逗号不知应该怎样去除。
问题2:动态生成整个json文件,但是最后多了一个]和}。
画红色圈的地方为两处问题,请帮忙解答,谢谢,感激不尽。

输出结果:

img


#--coding:GBK --

import os
import json
import re
import datetime,time

# 获取当前系统日期时间
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')


with open('js/liansuodian.json','r') as f:
    data = json.load(f)
    # print(json.dumps(data,indent=2))

def yunXing():
    for item in data['lsd']:
        # print(item['lsdwg'])
        wgip = item['lsdwg']
        # print(wgip)
        command = os.popen("ping -n 1 " + wgip)

        pin = command.read()


        # 通过断网字符串判断ip地址是否互通
        if "请求超时" in pin or "无法访问目标主机" in pin:
            p = item['lsdcode'] + ',' + item['lsdname'] + ',' + item['lsdwg']
            # p = '\''+ item['lsdcode'] + '\''+',' + '\''+item['lsdname']+ '\''+ ',' + '\''+item['lsdwg']+'\''
            # print(p+'*****************')


            # bytime = re.findall(r'时间=(\w)', pin, re.M)
            #
            # diushi = re.findall(r'丢失 = (\w+)*', pin, re.M)

            print(p,'网络不通')


            p2 = {}
            douhao = ','

            p2['lsdcode'] = item['lsdcode']
            p2['lsdname'] = item['lsdname']
            p2['lsdwg'] = item['lsdwg']

            print(p2)
            print(item['lsdname'])

            with open('log/lixian.json','r+') as f:
                # f.seek(0)
                f.write('{\n"lsd":[\n')
                for x in p2:

                    json.dump(p2,f,indent=4,ensure_ascii=False)
                    f.write(douhao)
                    # print(type(p2))

                # f.write('\n]\n}')

        else:
            # 网络通
            p = item['lsdcode'] + ',' + item['lsdname'] + ',' + item['lsdwg']+ ',' + now

            bytime = re.findall(r'时间=(\w)', pin, re.M)
            # print(bytime)
            diushi = re.findall(r'丢失 = (\w+)*', pin, re.M)
            # print(diushi)
            int_bytime = int(bytime[0])

            if int_bytime > 3:
                print(p,'网络延时')

                with open('log/yanshi.txt', 'r+') as file:
                    file.truncate(0)
                    file.write(p + "\n")
                    file.close()
            else:
                print(p,'网络正常')
                # print(diushi)




while True:
    yunXing()
    # 5分钟循环执行一次
    time.sleep(300)