PythonでPyYAMLを用いてYAMLファイルの読み取りと解析を行ってみます。
今回はPyYAMLを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■YAMLファイルを作成する
では、まずYAMLファイルを作成してみます。
■コード
rest: url: "https://example.com/random_umbers/test1" port: 8443 random_numbers: [1, 5, 9, 20, 11, 19, 77, 91]
今回は上記のコードをテキストエディタなどを用いて記述します。
記述後、今回は分かりやすいように「C:\Users\user_\test(フォルダパス)」内に「config.yaml」という名前でコードが記述されたファイルを保存します。これでYAMLファイルの作成は完了です。
■PyYAMLを用いてYAMLファイルの読み取りと解析
完了後、PyYAMLを用いてYAMLファイルの読み取りと解析を行うためにスクリプトを書いていきます。
■コード
import yaml with open(r'C:\Users\user_\test\config.yaml','r') as file: data = yaml.safe_load(file) print(data['rest']['url']) print(data['random_numbers'])
まずはimportでyamlモジュールを呼び出します。その後、with構文を用いてファイルの操作をします。open()を用いて括弧内に第1の引数,パラメータとして、開くファイルとしてconfig.yamlと、置かれている場所(C:\Users\user_\test(フォルダパス))を記述し渡します。次に第2の引数,パラメータとして、ファイルが開かれる際のモードを指定します。今回は「r」で読み込み用モードでファイルを開きます。その後、読み込んだファイルをfile変数に格納します。格納後、with構文内に処理を記述します。今回はdataという変数を定義し、その中でyaml.safe_load()を用います。括弧内には引数,パラメータとしてfile変数を渡します。これでYAMLファイルの解析が行われます。解析されたものが、data変数に格納されます。
格納後、print()を用います。括弧内にはdata変数の指定したデータのみを角括弧”[ ]”を使い抽出します。抽出された情報をprint()で出力します。
■実行・検証
このスクリプトを「y_parser.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、今回作成したYAMLファイルをPyYAMLを用いてファイルの読み取りと解析を行い解析結果を出力させることができました。
コメント