python实现随机生成json格式的日志数据

要生成的日志格式为:

“”"
#事件
“action”: “1”, #动作:开始加载=1,加载成功=2,加载失败=3
“loading_time”: “2020-06-10 10:11:10”, #加载时间
“loading_way”:“1”, #加载类型:1-读取缓存,2-从接口拉新数据
“extend1”:"", #扩展字段 Extend1
“extend2”:"", #扩展字段 Extend2
“type”:“1”, #加载类型:自动加载=1,用户下拽加载=2,底部加载=3(底部条触发点击底部提示条/点击返回顶部加载)
“type1”:“10001” #加载失败码:把加载失败状态码报回来(报空为加载成功,没有失败)

“”"
直接上代码:

# -*- coding: utf-8 -*-
import numpy as np
import time
import random
import json


"""
#事件
{"action": "1",
"loading_time": "2020-06-10 10:11:10",
"loading_way":"1",
"extend1":"",
"extend2":"",
"type":"1",
"type1":"10001"}

"""

#产生随机时间
def made_random_time():
     a1 = (2020, 6, 1, 0, 0, 0, 0, 0, 0)  # 设置开始日期时间元组(1976-01-01 00:00:00)
     a2 = (2020, 6, 9, 23, 59, 59, 0, 0, 0)  # 设置结束日期时间元组(1990-12-31 23:59:59)
     start = time.mktime(a1)
     end = time.mktime(a2)
     t = np.random.randint(start, end)
     data_toulp = time.localtime(t)
     random_date = time.strftime("%Y-%m-%d %T", data_toulp)
     return random_date

def made_loading_json():
     random_date = made_random_time()

     loading_keys = ['action','loading_time','loading_way','extend1','extend2','type','type1']
     loading_data = []
     loading_data.append(random.randint(1,3))
     loading_data.append(random_date)
     loading_data.append(random.randint(1,2))
     loading_data.append("")
     loading_data.append("")
     loading_data.append(random.randint(1,3))
     loading_data.append(random.randint(10000,99999))
     #生成json
     json_str = {}
     json_str[loading_keys[0]] = str(loading_data[0])
     json_str[loading_keys[1]] = str(loading_data[1])
     json_str[loading_keys[2]] = str(loading_data[2])
     json_str[loading_keys[3]] = str(loading_data[3])
     json_str[loading_keys[4]] = str(loading_data[4])
     json_str[loading_keys[5]] = str(loading_data[5])
     json_str[loading_keys[6]] = str(loading_data[6])
     return json_str

if __name__ == '__main__':
     for i in range(0,10):
          ds_dict = made_loading_json()
          #字典转json
          ds = json.dumps(ds_dict)
          print(ds)
          #将数据写入文件
          with open("c:\\Users\\test00.txt","a+") as ft:
               ft.write(ds)
          time.sleep(1)
          i += 1

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值