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

目录
  • 执行python脚本并传入json数据格式参数
  • python解析JSON数据
    • 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)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python中使用json.load()和json.loads()加载json数据的方法实例

    目录 前言 预备知识: 使用方法 总结 前言 最近在python里面用json读取json文件,可是老是不成功,特此记录一下. 预备知识: def load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw): """Deserialize ``fp`` (a ``.read()``-suppor

  • python json-rpc 规范源码阅读

    目录 json-rpc 源码阅读 JSON-RPC规范 jsonrpcclient的实现 jsonrpcserver的实现 小结 小技巧 json-rpc 源码阅读 JSON-RPC是一个无状态且轻量级的远程过程调用(RPC)协议.JSON-RPC应用很广泛,比如以太坊的API.JSON-RPC的python实现较多,我选择了Exploding Labs 提供的python版本.主要是其它库都比较古老,而e-labs的实现采用最新版本python,支持类型系统,还有一些函数式编程的范式,代码也很

  • Python grpc超时机制代码示例

    工作中遇到一个问题,上游服务通过grpc调用下游服务,但是由于下游服务负载太高导致上游服务的调用会随机出现超时的情况,但是有一点不太明确:超时之后,下游服务还会继续进行计算么? 于是自己写了一个damon试了一下: client: # Copyright 2015 gRPC authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file ex

  • 通过实例解析Python RPC实现原理及方法

    单线程同步 使用socket传输数据 使用json序列化消息体 struct将消息编码为二进制字节串,进行网络传输 消息协议 // 输入 { in: "ping", params: "ireader 0" } // 输出 { out: "pong", result: "ireader 0" } 客户端 client.py # coding: utf-8 # client.py import json import time i

  • python实现一个简单RPC框架的示例

    本文需要一点Python socket基础. 回顾RPC 客户端(Client):服务调用方. 客户端存根(Client Stub):存放服务端地址信息,将客户端的请求参数数据信息打包成网络消息,再通过网络传输发送给服务端. 服务端存根(Server Stub):接收客户端发送过来的请求消息并进行解包,然后再调用本地服务进行处理. 服务端(Server):服务的真正提供者. Network Service:底层传输,可以是 TCP 或 HTTP. 实现jsonrpc 在实现前,简单理一下整体思路

  • python中Requests发送json格式的post请求方法

    目录 前言 1.普通string类型 2.string内是字典的 3.元组(嵌套列表或者) 4.字典 5.json 6.传入非嵌套元组或列表 7.以post(url,json=data)请求 前言 问题: 做requests请求时遇到如下报错: {“code”:“500”,“message”:"JSON parse error: Cannot construct instance of com.bang.erpapplication.domain.User (although at least

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

    目录 执行python脚本并传入json数据格式参数 python解析JSON数据 json模块包含以下两个函数 执行python脚本并传入json数据格式参数 最近在写一个python的数据统计分析脚本,需要根据json的数据格式参数去进行业务逻辑处理,出了一些情况拿出来一起分享讨论.一下代码纯属示例. 脚本类容很简单,接收一下参数,并使用json包进行一个加载解析. 执行脚本,传入一个json对象数组: 脚本接受到的内容: json加载解析出错: 可以看到python脚本接收到参数的时候会将

  • 关于命令行执行Python脚本的传参方式

    目录 命令行执行Python脚本的传参 应用场景 方式一 方式二 python-命令行传参sys.argv实际运用 argv获取参数 getopt模块 实例 实际场景运用 命令行执行Python脚本的传参 应用场景 在对ABAQUS进行二次开发时,需要将核心脚本的外部数据传递到脚本内部并执行 核心脚本在运行时,可以调用所传递的变量参数 命令行执行或者用户子程序执行 方式一 使用sys.args 简单示例 import sys def test_sys_args():     if len(sys

  • Jmeter并发执行Python 脚本的完整流程

    目录 1. 前言 2. Python 实现文件上传 2-1获取文件信息及切片数目 2-2切片及分段上传 2-3合并文件 2-4文件路径参数化 3. Jmeter 并发执行 4. 最后 本篇文章以文件上传为例,聊聊 Jmeter 并发执行 Python 脚本的完整流程 1. 前言 大家好,我是安果! 最近有小伙伴后台给我留言,说自己用 Django 写了一个大文件上传的 Api 接口,现在想本地检验一下接口并发的稳定性,问我有没有好的方案 本篇文章以文件上传为例,聊聊Jmeter 并发执行 Pyt

  • shell脚本中执行python脚本并接收其返回值的例子

    1.在shell脚本执行python脚本时,需要通过python脚本的返回值来判断后面程序要执行的命令 例:有两个py程序  hello.py 复制代码 代码如下: def main():     print "Hello" if __name__=='__main__':     main() world.py def main():     print "Hello" if __name__=='__main__':     main() shell 脚本 te

  • Java实现的执行python脚本工具类示例【使用jython.jar】

    本文实例讲述了Java实现的执行python脚本工具类.分享给大家供大家参考,具体如下: 这里java中执行python脚本工具类,需要使用jython.jar java中执行python脚本工具类,学习的时候写着玩: import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; i

  • windows 10 设定计划任务自动执行 python 脚本的方法

    我用 python 写了一些脚本,有一些是爬虫脚本,比如爬取知乎特定话题的热门问题,有一些是定期的统计分析脚本,输出统计结果到文档中.之前我都是手动执行这些脚本,现在我希望如何这些脚本能自动定时执行.那么,windows 10 操作系统如何定时自动执行 python 脚本? 我的设备是 windows 10操作系统,自带的"计划任务"可以满足我的需求,具体操作步骤,整理如下. 步骤1:打开 "计算机管理" 界面 点击电脑左下角的windows图标,或者键盘的wind

  • 在python 脚本下解析json数据

    在项目中遇到了个json数据需要解析,利用Python脚本尝试分享给大家 如下: import os import pandas as pd import numpy as np path=r'C:\users\....' #文件的上一层路径 key=['SS','AA',....] #字段名 files = os.listdir(path) all_data = [] for file in files:         filepath = os.path.join(path,file) d

  • jmeter执行python脚本的实现示例

    目录 概要 一.环境准备 1. 测试工具 2. 测试资源 二.实现过程 1. 在jmeter中设置参数 2. 通过jmeter修改py模板 3. 通过jmeter执行py脚本 4. 使用获得的输出信息 三.运行调试 1. 运行前 2. 运行后 概要 本文主要介绍一个通过jmeter执行python脚本的测试场景.主要过程如下: 在jmeter中设置参数: 通过jmeter修改py模板文件,并创建后续需执行的py脚本: 通过jmeter执行py脚本文件,获得py文件的执行输出结果,并设置为变量:

  • 解决安装pycharm后不能执行python脚本的问题

    其中一种原因:pycharm没有设置系统解析器 解决方法 打开pycharm->File->Settings->Project Interpreter->设置python路径(系统python) 以上这篇解决安装pycharm后不能执行python脚本的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • CentOS 7如何实现定时执行python脚本

    在CentOS下,可以使用crontab进行定时任务的处理. 一.crontab的安装 默认情况下,CentOS 7中已经安装有crontab,如果没有安装,可以通过yum进行安装. yum install crontabs 二.crontab的定时语法说明 corntab中,一行代码就是一个定时任务,其语法结构可以通过这个图来理解. 字符含义如下: * 代表取值范围内的数字 / 代表"每" - 代表从某个数字到某个数字 , 代表离散的取值(取值的列表) 一些常用的时间写法如下: *

随机推荐