执行python脚本并传入json数据格式参数方式
作者:程序员阿坤 发布时间:2021-12-09 21:22:14
标签:python脚本,json数据,参数
执行python脚本并传入json数据格式参数
最近在写一个python的数据统计分析脚本,需要根据json的数据格式参数去进行业务逻辑处理,出了一些情况拿出来一起分享讨论。一下代码纯属示例。
脚本类容很简单,接收一下参数,并使用json包进行一个加载解析。
执行脚本,传入一个json对象数组:
脚本接受到的内容:
json加载解析出错:
可以看到python脚本接收到参数的时候会将双引号剔除,然后该传入参数已经不符合json数据格式,导致转换失败。
解决办法,最外层使用单引号包裹:
可以看到参数成功传入并且成功被解析。
注意:此方法只能在Linux操作系统上成功,在Windows上测试依然失败,不知道原因,有了解的或者有更好的方法的欢迎评论。
Windows上测试结果:
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))
程序运行结果:
关于repr()的解释,一种可以参考是说法是: 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。
data2 = json.loads(json_str)
print("data2['name']:", data2["name"])
print("data2['id']:", data2["id"])
程序运行结果:
如果是处理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)
来源:https://blog.csdn.net/KKKun_Joe/article/details/98877283


猜你喜欢
- 前文学习:python数据类型: python数据结构:数据类型.python的输入输出: python数据结构输入输出及控制和异常.pyt
- 01、正则表达式学习正则表达式操作字符串,re模块是用C语言写的没匹配速度非常快,其中compile函数根据一个模式字符串和可选的标志参数生
- 代码如下:<% Function Bytes2bStr(vin,cSet) Dim BytesStream,StringReturn
- Keras提供了两套后端,Theano和Tensorflow,不同的后端使用时维度顺序dim_ordering会有冲突。对于一张224*22
- 这篇文章主要介绍了Python partial函数原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 这篇文章讨论Python中下划线_的使用。跟Python中很多用法类似,下划线_的不同用法绝大部分(不全是)都是一种惯例约定。一、
- 概述Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界.数据类型转换数据类型转换可以帮助我们将一
- 今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自
- 一、定位 oracle分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做f
- 在SQL Server 配置管理器中,展开SQL Server 2005的网络配置,然后点击服务器实例如:MSSQLSERVER 的协议。
- Kettle简介Kettle最早是一个开源的ETL(Extract-Transform-Load的缩写)工具,全称为KDE Extracti
- 用户登录验证脚本,Chkpwd.asp<% '=======用户登录验证脚本======= '如果尚未定义Passed
- declare @Table_name varchar(60) set @Table_name = 'Pay_inputpay
- RPC是Remote Procedure Call的缩写,翻译成中文就是远程方法调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的
- 一、简介pydantic 库是 python 中用于数据接口定义检查与设置管理的库。pydantic 在运行时强制执行类型提示,并在数据无效
- Python的全局变量:int string, list, dic(map) 如果存在global就能够修改它的值。而不管这个global是
- 目录一、两个模块二、SMTP端口三、四大步骤1、构造邮件内容2、连接邮件服务器3、登陆邮件服务器4、发送邮件四、常用场景1、纯文本邮件2、发
- 两周前,在给颜值在线的 flame 提交了几个 PR 之后,我将它封装成了容器,用于书签和在线应用的管理。但是在迁移个人
- 导语哈喽!我是木木子,又到了今日更新时刻!我们来看看写什么呢?小编有个好兄弟最近在追妹子,跟妹子打得火热!就差临门一脚了,这一jio我帮忙补
- 一、适合创建索引1、字段的数值有唯一性限制根据Alibaba规范,指明在业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引。例如,