广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python学习之利用Python处理J
  • 472
分享到

Python学习之利用Python处理J

Python 2023-01-31 07:01:09 472人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

最近在研究利用zabbix的自动发现功能来监控一台服务器上的多个Redis端口。网上有篇文章写个python程序来发现Redis端口并显示成JSON格式。这里就学习下Python如何处理jsON格式数据。处理JSON,需要用到python的

最近在研究利用zabbix的自动发现功能来监控一台服务器上的多个Redis端口。网上有篇文章写个python程序来发现Redis端口并显示成JSON格式。这里就学习Python如何处理jsON格式数据。

处理JSON,需要用到python的json模块可以用import json导入模块,主要是json.dumps()和json.loads()两个函数。

参考《Python Cookbook》一书

In [1]: import json                      导入json模块

In [2]: data = {                         定义python数据结构
   ...:     'name' : 'ACME',
   ...:     'shares' : 100,
   ...:     'price'  : 542.23
   ...:        }

In [3]: json_str = json.dumps(data)      将python数据结构转化成JSON格式

In [4]: data = json.loads(json_str)      将JSON格式转化为python数据结构

JSON的编码格式和Python的语法格式相近,除了一些小的地方有所不同,例如Python中的True对应JSON编码格式的true,False对应false,None对应null。

In [19]: json.dumps(False)
Out[19]: 'false'

In [20]: d={'a' : True,
   ....:    'b' : 'Hello',
   ....:    'c' : None}

In [21]: json.dumps(d)
Out[21]: '{"a": true, "c": null, "b": "Hello"}'

当JSON格式数据层次太深时,很难检查数据,可以利用pprint模块的pprint()函数格式化输出JSON数据


可以根据key值排序,还可以设置缩进格式,以整洁显示输出结果

In [76]: print(json.dumps(data,sort_keys=True))
{"name": "ACME", "price": 542.23000000000002, "shares": "100"}

In [77]: print(json.dumps(data,sort_keys=True,indent=4))
{
    "name": "ACME", 
    "price": 542.23000000000002, 
    "shares": "100"
}


如以下发现Redis端口的Python脚本

#/usr/bin/python
#This script is used to discovery redis port on the server
import subprocess
import json          #导入json模块
args="netstat -tanp|awk -F':' '/redis-server/&&/LISTEN/{print $2}'|awk '{print $1}'"
t=subprocess.Popen(args,shell=True,stdout=subprocess.PIPE).communicate()[0]  #通过subprocess.Popen获取redis的端口号
ports=[]

for port in t.split('\n'):
    if len(port) != 0:
       ports.append({'{#REDISPORT}':port})
print json.dumps({'data':ports},indent=4,separators=(',',':'))  #将字符串处理成json格式

输出结果如下:

{
    "data":[
        {
            "{#REDISPORT}":"6801"
        },
        {
            "{#REDISPORT}":"6400"
        },
        {
            "{#REDISPORT}":"6501"
        },
        {
            "{#REDISPORT}":"6410"
        }
    ]
}




--结束END--

本文标题: Python学习之利用Python处理J

本文链接: https://www.lsjlt.com/news/191556.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python学习之利用Python处理J
    最近在研究利用zabbix的自动发现功能来监控一台服务器上的多个Redis端口。网上有篇文章写个Python程序来发现Redis端口并显示成JSON格式。这里就学习下Python如何处理JSON格式数据。处理JSON,需要用到python的...
    99+
    2023-01-31
    Python
  • python学习之异常处理
    一、语法导致的异常,应该在程序运行前处理 例子: print( 输出: File "E:/python/oldboyday9/learn1.py", line 4     if      ^ SyntaxError: invalid sy...
    99+
    2023-01-31
    异常 python
  • Python入门学习之Python流处理过程
    目录Faust简介高可用性分布式的快速灵活性安装绑定下载并从源文件中安装使用开发版本常见问题 Faust是一个流处理库,将kafka流中的思想移植到Python中 它被用于Robin...
    99+
    2022-11-12
  • Python学习之异常处理详解
    目录什么是异常与异常处理异常的语法捕获通用异常捕获具体异常如何捕获多个异常捕获多个异常 - 方法1捕获多个异常 - 方法2本章节主要学习 python 中的异常处理,来看一下该章节的...
    99+
    2022-11-13
  • Python学习 :异常处理
      异常处理   什么是异常处理   - python解释器检测到错误,触发异常(也允许程序员自己触发了异常)   - 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,只与异常处理有关)   - 如果捕捉成功则进入另外...
    99+
    2023-01-30
    异常 Python
  • python学习之numpy使用
    #NumPy数据库学习#Numpy包含一下特点:'''1.强大的N维数组对象。2.成熟的函数库。3.用于集成c/c++和Fortran代码工具4.实用的线性代数,傅里叶变换和随机生成函数。'''import numpy as np#4.1:...
    99+
    2023-01-31
    python numpy
  • Python学习之异常处理的避坑指南
    目录finally 与 return 的执行顺序else 与 return 的执行顺序总结最终想了想,还是把这个章节单独拎出来,虽然字数不多。 在代码中,存在return也应当执行f...
    99+
    2022-11-13
  • Python学习教程:Python字典处理
    Python字典处理根据键访问值普通访问实例:info={"name":"Mark","age":18}print("我的姓名:%s"%info["n...
    99+
    2023-06-02
  • Python学习之使用Python发送邮
    最近写的检查redis配置的脚本中需要增加一个发送邮件的功能,于是现学现用了python的邮件发送模块smtplib.可以参考《Python for Unix and Linux Administrator》一书#/usr/bin/pyth...
    99+
    2023-01-31
    Python
  • Python学习之使用Python生成P
    在有些时候运维同事需要对一些数据收集后形成PDF报告的形式发送出去。利用python的reportlab库可以帮我们很快的实现自定义生成PDF报告。在CentOS 下通过sudo yum install python-reportlab -...
    99+
    2023-01-31
    Python
  • Python学习之使用Python操作R
    最近在写一个检查一台服务器上所有游戏区服配置文件中redis某个key值大小的脚本,本打算使用shell+awk+sed的方式去解决这个问题,但是由于redis的配置信息是php数组形式.shell脚本一时没有写出来,就请教他人帮忙写了个p...
    99+
    2023-01-31
    操作 Python
  • Python Pytorch深度学习之数据加载和处理
    目录一、下载安装包二、下载数据集三、读取数据集四、编写一个函数看看图像和landmark五、数据集类六、数据可视化七、数据变换1、Function_Rescale2、Function...
    99+
    2022-11-12
  • python学习之列表的运用
    目录创建列表常用函数常用方法列表推导式列表推导式的嵌套字符串的文本解析方法深浅复制浅复制深复制创建列表 list( ) # 创造列表 list(可迭代对象)  # 将可迭代对象创造成...
    99+
    2022-11-11
  • Python机器学习入门(二)之Python数据理解
    目录1.数据导入1.1使用标准Python类库导入数据1.2使用Numpy导入数据1.3使用Pandas导入数据2.数据理解2.1数据基本属性2.1.1查看前10行数据2.1.2查看...
    99+
    2022-11-12
  • Python学习之如何理解函数def
    本篇内容主要讲解“Python学习之如何理解函数def”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python学习之如何理解函数def”吧!一、函数概述简单来说 函数 就是自己定义的一段 小程...
    99+
    2023-06-25
  • Python 框架中的数据处理利器:numpy 学习笔记
    在 Python 数据分析的生态系统中,numpy 是一个非常重要的工具。numpy 是一个开源的 Python 库,用于科学计算。它提供了一个强大的 N 维数组对象,以及许多其他的工具,用于处理这些数组。numpy 是 Python 数...
    99+
    2023-10-23
    框架 学习笔记 numpy
  • Python学习之pip包管理工具的使用
    目录写文的原因pip 简介pip 安装/移除包升级包和查看已安装包搜索包写文的原因 学习 Python 的过程中,经常会使用 pip 命令去安装第三方模块,但细细琢磨下来,我真的掌握...
    99+
    2022-11-11
  • 学习 Python 框架 numpy:如何利用它来处理海量数据?
    Python 作为一种高级编程语言,已经成为了数据科学和机器学习领域的主流语言。而 numpy 是 Python 中最重要的数据科学库之一,它可以轻松地处理大量的数据。 numpy 提供了一个强大的 N 维数组对象,它可以进行高效的数学运算...
    99+
    2023-10-23
    框架 学习笔记 numpy
  • Python学习小技巧之利用字典的默认行为
    本文介绍的是关于Python利用字典的默认行为的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码1: from collections import defaultdict ...
    99+
    2022-06-04
    小技巧 字典 Python
  • 利用Python学习RabbitMQ消息队列
    RabbitMQ可以当做一个消息代理,它的核心原理非常简单:即接收和发送消息,可以把它想象成一个邮局:我们把信件放入邮箱,邮递员就会把信件投递到你的收件人处,RabbitMQ就是一个邮箱、邮局、投递员功能综...
    99+
    2022-06-04
    队列 消息 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作