Skip to content

Python

Python のインスタンスから「メソッドだけ」「変数だけ」などの情報を取得する

Python でインスンタンスから「メソッドと変数」を取得するには組み込み関数である dir() を利用します。 dir() を活用し、インスタンスから「メソッドだけ」や「変数だけ」を取得する方法をメモしておきます。 対象は何でも良かったのですが、今回は pydub に対して実行してみました。

pybatfish 2024.7.22.1569 では bfq や load_questions が廃止

pybatfish の古いバージョンでは bfqload_questions というモジュールが必要でした。 ですが、これらのモジュールは廃止になっているようです (おそらく pybatfish: delete legacy default session #907) のあたり?)。 基本的には Session を利用することで Batfish に接続出来るようです。 今回は「新しいバージョンでのサンプルスクリプト」をメモしておきます。

Python で CiscoConfParse2 を使って Cisco コンフィグから必要部分を抽出する

Python の ciscoconfparse を使うと Cisco 機器のコンフィグファイルから必要な箇所を抽出することが出来ます。 このライブラリに関して以前に以下のメモを書きました。

このライブラリは後継になるバージョン 2 が別パッケージとしてリリースされています。

バージョン 1 のページには「バージョン 2 へアップグレードすべき理由」として下記の記載があります。

  • It supports all major network vendor text configuration files (Arista, Cisco, F5, Juniper, Palo Alto)
  • It supports searching across any number of configuration levels (ciscoconfparse only supports two config levels : a parent and child)
  • It adds a string methods so you don't need to use regex matching if you don't want to
  • It adds a CLI command
  • Revamped documentation
  • It simplifies the user interface and fixes broken ciscoconfparse default parameters (this could require changing old scripts using the original API)
  • It intentionally uses a new python import to minimize confusion between itself and the original

今回は ciscoconfparse2 のチュートリアルページに掲載されている簡単な使い方をメモしておきます。

textfsm で利用するテンプレートを Python スクリプトに含める

以前に IOS-XE の show ip route を textfsm で解析する というメモを書きました。 このメモでは TextFSM で利用するテンプレートを外部ファイルとして保存していました。 テンプレートを外部ファイルでは無く、Python スクリプトに同梱してしまうサンプルスクリプトをメモしておきます。