Pythonのyamlのローダについて
Pythonでyamlを読み込む場合には PyYAML
というライブラリを使用する.
この時に何も考えずに,load
を行おうとすると,Warrningが出力される.
なので,loadと同時に Loader
を指定してあげる必要がある.
import yaml
yaml_dict = yaml.load(fp, Loader=yaml.SafeLoader)
この時に, Load
には3つの種類がある.
SafeLoader
SafeLoader
は最も安全なLoaderでYAMLのサブセットが動作する.
外部からyamlの入力を受け付ける場合はどは,これを使用する.
FullLoader
FullLoader
現在のデフォルトのローダで,基本的にはフル機能のYAMLを受け付ける.
一部の任意のコード実行を行えるような動作は使用出来ない.
現在のデフォルトのローダらしい.(でもワーニングは出る)
UnsafeLoader
UnsafeLoader
は元々のローダでフルパワーのYAMLを処理出来る.
なので,任意コードも実行出来たりするらしい.
ふるふる機能なので,本当に必要な時は使えば良いらしい.