yaml格式的檔案拓展名包括:.yml
和.yaml
,兩個都表示yaml檔案;
xml格式的檔案拓展名為:.xml
基本語法規則
資料結構:
string
:'foo'
integer
:1234
float
:1234.5
boolean
:true
list:[
1.0, mixed list]
dictionary
:
引用
錨點&
和別名*
,可以用來引用。
等同於下面的**。defaults:
&defaults
adapter: postgres
host: localhost
development:
<<
:*defaults
test:
<<
:*defaults
```&defaults:
adapter: postgres
host: localhost
development:
adapter: postgres
host: localhost
test:
adapter: postgres
host: localhost
用來建立錨點(
defaults),
<<表示合併到當前資料,
*`用來引用錨點。
#read_yaml.yaml
first_name: 111
second_name: 222
third_name: 333
basic_name:
test_name: 444
selected_name:
- 666
- 777
sudo pip install pyyaml
sudo pip3 install pyyaml
#read_yaml.py
# -*- coding:utf-8 -*-
import os
import yaml
current_path = os.path.abspath(os.path.dirname(__file__)
)print
(current_path)
print
(current_path +
'/../test_dir'
)with
open
(current_path +
'/../test_dir/'
+'read_yaml.yaml'
,'r'
)as f:
temp = yaml.load(f.read())
print
(temp)
print
(temp[
'basic_name'])
print
(temp[
'basic_name'][
'test_name'])
print
(temp[
'basic_name'][
'selected_name'][
0])
使用yaml-cpp讀取和寫入yaml檔案
安裝yaml-cpp:
git clone
編譯 yaml-cpp:
cd yaml-cpp # 進入轉殖的資料夾
mkdir build
cd build
cmake ..
make
sudo
make
install
使用yaml-cpp:
修改cmakelists.txt
cmake_minimum_required(version 3.5)
project(001)
set(cmake_c_compiler g++)
add_compile_options(-std=c++11)
link_directories(/home/windistance/yaml-cpp/build)
include_directories(/home/windistance/yaml-cpp/include/yaml-cpp)
add_executable($ src/main.cpp)
target_link_libraries($ yaml-cpp)
新增標頭檔案
#include "yaml-cpp/yaml.h"
示例:
int main(int argc, char** ar**)
"; }
fs << "]";
fs.release();
return 0;
}
%yaml:1.0
framecount:5
calibrationdate
:"fri jun 17 14:09:29 2011\n"
cameramatrix
:!!opencv-matrix
rows:3
cols:3
dt: d
data:[
1000.,0.
,320.,0.
,1000.
,240.,0.
,0.,1.
]distcoeffs
:!!opencv-matrix
rows:5
cols:1
dt: d
data:[
1.0000000000000001e-01
,1.0000000000000000e-02
,-1.0000000000000000e-03,0.
,0.
]features:-
--
.launc**件
>
nodehandle_.param("basic_name/test_name", name, 1);
python讀取配置檔案yaml
yaml 一種非標記語言,可以簡單表達清單 列表等資料形態,檔案字尾為 yml 1.大小寫敏感 2.使用縮排表示層級關係 3.縮排不允許使用tab,只允許空格,但是對空格數不要求 4.表示注釋 key value 和value之間應該有空格 字典 name test age 12 列表 1,2 3 ...
yaml做配置檔案
yaml是 yaml ain t a markup language yaml不是一種置標語言 的遞迴縮寫。可以做多種用途 指令碼語言,序列化,配置檔案 我們常見的是config.yaml做配置檔案 可以看出,同乙個縮排屬於同乙個級別的,可以理解為和window的資料夾一樣,當前面有 就是乙個陣列。...
YAML配置檔案管理資源
定義配置時,指定最新穩定版api api版本可以通過命令kubectl api versions檢視到 配置檔案應該儲存在集群之外的版本控制倉庫中。如果需要,可以快速回滾配置 重新建立和恢復 例如git。應該使用yaml格式編寫配置檔案,而不是json。儘管這些格式都可以使用,但yaml對使用者更加...