shyaml安装使用教程

博客主要介绍了shyaml的安装与使用。详细说明了shyaml的6个动作,还给出了打印脚本和取值的示例,通过设定yaml文件内容和shell脚本,展示了运行结果,帮助读者了解shyaml在信息技术中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.shyaml安装

pip install shyaml

2.shyaml使用

2.1 shyaml动作简介

shyaml一共有6个动作,分别为:

get-value:获取值
get-type:获取相应的类型
get-values{,-0}:对序列类型来说,获取值列表
keys{,-0}:返回键列表
values{,-0}:返回值列表
key-values,{,-0}:返回键值对

2.2 shyaml 打印脚本示例

设yaml文件test.yaml内容为:

local_env: /home/zack/Programs/catkin_integrate/devel/setup.bash
launch_cmd: roslaunch fusion_localization localization_offline.launch
program_config: /home/zack/Programs/catkin_integrate/src/fusion_localization/params/localization.yaml

cases:
  case001:
    data_path: /home/zack/Data/dataset/zhoushan/zs004
    port_name: nb_yongzhou
    vehicle_num: yz503

  case002:
    data_path: /home/zack/Data/dataset/zhoushan/zs005
    port_name: nb_yongzhou
    vehicle_num: yz505

shell脚本为:

#!/bin/bash
echo "cat test.yaml | shyaml get-value local_env"
cat test.yaml | shyaml get-value local_env
echo ""
echo "cat test.yaml | shyaml get-type local_env"
cat test.yaml | shyaml get-type local_env
echo ""
echo "cat test.yaml | shyaml get-values cases.case001"
cat test.yaml | shyaml get-values cases.case001
echo ""
echo "cat test.yaml | shyaml keys cases"
cat test.yaml | shyaml keys cases
echo ""
echo "cat test.yaml | shyaml values cases"
cat test.yaml | shyaml values cases
echo ""
echo "cat test.yaml | shyaml key-values cases"
cat test.yaml | shyaml key-values cases
echo ""

则运行结果为:

cat test.yaml | shyaml get-value local_env
/home/zack/Programs/catkin_integrate/devel/setup.bash
cat test.yaml | shyaml get-type local_env
str
cat test.yaml | shyaml get-values cases.case001
data_path
/home/zack/Data/dataset/zhoushan/zs004
port_name
nb_yongzhou
vehicle_num
yz503

cat test.yaml | shyaml keys cases
case001
case002

cat test.yaml | shyaml values cases
data_path: /home/zack/Data/dataset/zhoushan/zs004
port_name: nb_yongzhou
vehicle_num: yz503

data_path: /home/zack/Data/dataset/zhoushan/zs005
port_name: nb_yongzhou
vehicle_num: yz505


cat test.yaml | shyaml key-values cases
case001
data_path: /home/zack/Data/dataset/zhoushan/zs004
port_name: nb_yongzhou
vehicle_num: yz503

case002
data_path: /home/zack/Data/dataset/zhoushan/zs005
port_name: nb_yongzhou
vehicle_num: yz505

2.3 shyaml 取值示例

设yaml文件test.yaml内容为:

local_env: /home/zack/Programs/catkin_integrate/devel/setup.bash
launch_cmd: roslaunch fusion_localization localization_offline.launch
program_config: /home/zack/Programs/catkin_integrate/src/fusion_localization/params/localization.yaml

cases:
  case001:
    data_path: /home/zack/Data/dataset/zhoushan/zs004
    port_name: nb_yongzhou
    vehicle_num: yz503

  case002:
    data_path: /home/zack/Data/dataset/zhoushan/zs005
    port_name: nb_yongzhou
    vehicle_num: yz505

shell脚本为:

#!/bin/bash
get_value=`cat test.yaml | shyaml get-value local_env`
echo "get_value:${get_value}"
echo ""
get_type=`cat test.yaml | shyaml get-type local_env`
echo "get_type:${get_type}"
echo ""
get_values=`cat test.yaml | shyaml get-values cases.case001`
echo "get_values:${get_values}"
echo ""
keys=`cat test.yaml | shyaml keys cases`
echo "keys:${keys}"
echo ""
values=`cat test.yaml | shyaml values cases`
echo "values:${values}"
echo ""
key_values=`cat test.yaml | shyaml key-values cases`
echo "key_values:${key_values}"
echo ""

则运行结果为:

get_value:/home/zack/Programs/catkin_integrate/devel/setup.bash

get_type:str

get_values:data_path
/home/zack/Data/dataset/zhoushan/zs004
port_name
nb_yongzhou
vehicle_num
yz503

keys:case001
case002

values:data_path: /home/zack/Data/dataset/zhoushan/zs004
port_name: nb_yongzhou
vehicle_num: yz503

data_path: /home/zack/Data/dataset/zhoushan/zs005
port_name: nb_yongzhou
vehicle_num: yz505

key_values:case001
data_path: /home/zack/Data/dataset/zhoushan/zs004
port_name: nb_yongzhou
vehicle_num: yz503

case002
data_path: /home/zack/Data/dataset/zhoushan/zs005
port_name: nb_yongzhou
vehicle_num: yz505

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zack_Liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值