1.软文推荐

2.软文推荐

3.软文推荐

python脚本中读取配置文件通常将配置文件放在json格式的文件中,然后做后续的处理,那么在linux服务器上编辑和读取json文件有什么技巧呢?来看一下吧,

Json数据格式化

json是一种轻量级的数据交换格式,应用范围非常广泛。在Linux系统下使用jq工具可以非常方便的处理json

[root@knode1 ~]# cat k8s.conf
{"hosts": {"host_list": [ {"hostname""host1""ip""10.1.251.1""username""aps""password""tingsoft""ssh_port": 22}, {"hostname""host24""ip""10.1.251.2""username""aps", ssword": "tingsoft", "ssh_port": 22} ], "sshkey_enable": false, "data_dir": "/opt", "src":"/etc/localtime", "dest": "/etc/timezone", "port": "8080" } }

在linux上安装jq工具

[root@knode1 ~]# yum -y install jq

将上面k8s.conf文件用json格式展示,提高可读性

方法一:cat filename.conf | jq
[root@knode1 ~]# cat k8s.conf | jq
{
"hosts": {
"host_list": [
{
"hostname""host1",
"ip""10.1.251.1",
"username""aps",
"password""tingsoft",
"ssh_port": 22
},
{
"hostname""host24",
"ip""10.1.251.2",
"username""aps",
"password""tingsoft",
"ssh_port": 22
}
],
"sshkey_enable"false,
"data_dir""/opt",
"src""/etc/localtime",
"dest""/etc/timezone",
"port""8080"
}
}

jq工具会把json文件更有好的读取出来,此外,jq工具还在背后检查json文件的合法性,如果文件存在格式上的错误,jq也会报出错误存在的位置

方法二:cat filename.conf | python -m json.tool

python -m json.tool这种方法需要服务器上安装python,效果和jq一样,也会校验数据合法性,出现格式报错会报出位置

[root@knode1 ~]# cat k8s.conf |  python -m json.tool
Expecting object: line 1 column 343 (char 342)
Json数据读取

通过Key获取Value的值

[root@knode1 ~]# cat k8s.conf | jq .hosts
{
"host_list": [
{
"hostname""host1",
"ip""10.1.251.1",
"username""aps",
"password""tingsoft",
"ssh_port": 22
},
{
"hostname""host24",
"ip""10.1.251.2",
"username""aps",
"password""tingsoft",
"ssh_port": 22
}
],
"sshkey_enable"false,
"data_dir""/opt",
"src""/etc/localtime",
"dest""/etc/timezone",
"port""8080"
}
[root@knode1 ~]# cat k8s.conf | jq .hosts.host_list
[
{
"hostname""host1",
"ip""10.1.251.1",
"username""aps",
"password""tingsoft",
"ssh_port": 22
},
{
"hostname""host24",
"ip""10.1.251.2",
"username""aps",
"password""kingsoft",
"ssh_port": 22
}
]

解析不存在的元素key时,会返回null,.hosts.host_list这种属于嵌套解

自定义输出数组

对于上面jq .hosts.host_list获取的结果,还可以通过【】数组形式获取

[root@knode1 ~]# cat k8s.conf | jq .hosts.host_list[0]
{
"hostname""host1",
"ip""10.1.251.1",
"username""ups",
"password""tingsoft",
"ssh_port": 22
}

掌握了上面这些基本的数据处理方法,我们就可以在linux和python脚本中做一些配置的基础处理了。

本文来源:www.lxlinux.net/12580.html,若引用不当,请联系修改。

相关文章 8

1

讲解一下C# 程序结构 39秒前

一个 C# 程序主要包括以下部分:命名空间声明(Namespace declaration) 一个 class;Class 方法;Class 属性;一个 Main 方法;语句(Statements) 表达...

2

python3.9编译器(菜鸟教程python3在线编译器) 3分钟前

目录:1、自学python 用什么编译器2、python的编辑器有哪些?3、python有什么好的入门教程?用什么编译器呢4、python一般用什么编译器5、Pyth...

3

生产环境中常用的shell脚本(下) 5分钟前

本文档介绍30个关于Shell脚本的经典案例(下) 本文目录 21、从FTP服务器下载文件22、连续输入5个100以内的数字,统计和、最小和最大23、将...

4

使用Snap安装MakeMKV 5分钟前

MakeMKV是一款能够将DVD或BD影片直接转换成mkv文件的免费软件。它可以帮助您迅速而高品质地转换DVD为MKV格式,在本片文章中将使用Snap为大家...

5

虚拟信用卡(虚拟信用卡生成器) 7分钟前

目录:1、虚拟信用卡怎么用2、什么是中国银行虚拟卡?3、信用卡虚拟卡是什么?4、虚拟的信用卡虚拟信用卡怎么用 和实体信用卡相比,除...

6

CentOS 8转换为CentOS Stream具体方法 9分钟前

Centos Stream是一个滚动发布的Linux发行版,它介于Fedora Linux的上游开发和RHEL的下游开发之间而存在。可以当成是用来体验最新红帽系Linux特性...

7

Linux中配置双网卡具体方法 12分钟前

很多单位为了安全,内网都没有接入互联网。要实现既要上公司内网,也要上互联网。我们一般都是配置双网卡,一个网卡连内网,一个连...

8

韩国的vps1qu2qu(韩国的国旗) 13分钟前

目录:1、哪里的韩国vps比较好,要速度快的稳定的,最好重装系统是免费的2、韩国VPS租用优势与缺陷是啥?3、国外的vps租用应该怎么选择...