网络编程
位置:首页>> 网络编程>> Python编程>> 执行python脚本并传入json数据格式参数方式

执行python脚本并传入json数据格式参数方式

作者:程序员阿坤  发布时间:2021-12-09 21:22:14 

标签:python脚本,json数据,参数

执行python脚本并传入json数据格式参数

最近在写一个python的数据统计分析脚本,需要根据json的数据格式参数去进行业务逻辑处理,出了一些情况拿出来一起分享讨论。一下代码纯属示例。

        

执行python脚本并传入json数据格式参数方式

脚本类容很简单,接收一下参数,并使用json包进行一个加载解析。

执行脚本,传入一个json对象数组:

执行python脚本并传入json数据格式参数方式

脚本接受到的内容:

执行python脚本并传入json数据格式参数方式

json加载解析出错:

执行python脚本并传入json数据格式参数方式

可以看到python脚本接收到参数的时候会将双引号剔除,然后该传入参数已经不符合json数据格式,导致转换失败。

解决办法,最外层使用单引号包裹:

执行python脚本并传入json数据格式参数方式

可以看到参数成功传入并且成功被解析。

注意:此方法只能在Linux操作系统上成功,在Windows上测试依然失败,不知道原因,有了解的或者有更好的方法的欢迎评论。

Windows上测试结果:

执行python脚本并传入json数据格式参数方式

python解析JSON数据

JSON(JavaScript Object Natation)是一种轻量级的数据交换格式,其基于ECMAScript的一个子集。Python中提供了json模块来对JSON数据进行编码和解码。

json模块包含以下两个函数

  • json.dumps():对数据进行编码

  • jsonloads():对数据进行解码

示例

import json
data1 = {
   'id': '001',
   'name': '李华',
   'date': '20220115'
}
json_str = json.dumps(data1)
print("Python 原始数据:", data1, type(data1))
print("Python 原始数据:", repr(data1), type(repr(data1)))
print("JSON 对象:", json_str, type(json_str))

程序运行结果:

执行python脚本并传入json数据格式参数方式

关于repr()的解释,一种可以参考是说法是: 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。

data2 = json.loads(json_str)
print("data2['name']:", data2["name"])
print("data2['id']:", data2["id"])

程序运行结果:

执行python脚本并传入json数据格式参数方式

如果是处理json文件,则需要使用**json.dump()json.load()**来编码和解码JSON数据,代码如下:

# 写入数据
with open('data.json', 'w') as f:
   json.dump(data1, f)
# 读取数据
with open('data.json', 'r') as f:
   data = json.load(f)
   print(data)

执行python脚本并传入json数据格式参数方式

来源:https://blog.csdn.net/KKKun_Joe/article/details/98877283

0
投稿

猜你喜欢

  • 快速排序(QuickSort)是对冒泡排序的一种改进:基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一
  • 前言词云的使用相信大家已经不陌生了,使用很简单,直接调用wordcloud包就可以了。它的主要功能是根据文本词汇和词汇频率生成图片,从中可以
  • 1. 连接对象操作数据库之前,首先要建立数据库连接。有下面几个方法进行连接。>>>import cx_Oracle>
  • iframe标签在网页中可以创建一个内嵌框架,通过指定src属性来调用另一个网页文档的内容。和frameset一样,用它来对网页结构进行拆分
  • 著名的老掉牙的IE6.0在我这里已经有六年工龄了,前几天朋友拿到个IE8.0新的Beta版本,我的Sever2003装不上,大为扫兴。Chr
  • 本文实例讲述了Python3写入文件常用方法。分享给大家供大家参考。具体如下:''''' Creat
  • 本文实例讲述了php解析字符串里所有URL地址的方法。分享给大家供大家参考。具体如下:<?php// $html = the html
  • 如何用net/http构建一个简单的web服务Golang提供了简洁的方法来构建web服务package main import ( &nb
  • 现在越来越多的浏览器有拦截弹出窗口的功能。广告弹出来给拦掉了就无所谓,要是客户在付款时给拦掉了可就不能乱算了。Gmail的“哎呀”算是经典,
  • QQ医生在广大用户心中一直以来都是清爽便捷的一款安全工具,随着QQ医生的不断发展,QQ医生团队一直在思考,怎样能够给QQ医生用户带来性能更优
  • 实训课期间忙里偷闲的学习了python的selenium包,唯一一点不好是要自己去查英文文档,明摆着欺负我这种英语不好的,想着用谷歌翻译一下
  • 导语:哈喽,哈喽~大家有没有遇到过这种情况,手机用着用着没有内存了,一到设置里面一看。微信和 QQ 10G!啊这。。。。。就离谱!好说,好说
  • 不是炒冷饭,我添加了很多新的功能哦演示地址: xwinhtcdemo.htmCSS: global.cssHTC: xwin.htc特点:1
  • 几年前,看到一台湾人写的一段程序(好像是《日语基础》),在网页上实现音视频与文字的同步播放(就是音视频播到哪部分,相应的文字就亮显,点击某一
  • 前言当我们需要对列表(list)、元组(tuple)、字典(dictionary)和集合(set)的元素进行遍历时,其实Python内部都是
  • 概述Python是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,Python的职位需求越来越高。下面我收集了10个Pyth
  • 本文实例讲述了python实现根据ip地址反向查找主机名称的方法。分享给大家供大家参考。具体如下:import sys, sockettry
  • 连接数据库:mysql -u用户名 -p密码导入数据 source d:\create.sql用下面的语句就可以导出mysql中的数据了:m
  • 引言        在编写接口自动化测试脚本时,有时我们需要在代码中定
  • 首先说明一下,在python中是没有&&及||这两个运算符的,取而代之的是英文and和or。其他运算符没有变动。接着重点要说
手机版 网络编程 asp之家 www.aspxhome.com