Skip to content

Python

Python で文字列結合を f 文字列で実装する

Python で文字列を結合したり、フォーマットを指定するには str.format(args, *kwargs) を使う方法があります。 Python 3.6 からは フォーマット済み文字列リテラル、俗に言う「f 文字列」がサポートされ、より簡単に定義出来るようになりました。

以下は「文字列を結合して表示する」という目的を異なる方法で実装した例です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
a = "apple"
b = "banana"

# format() を使った書き方
print("{} and {}".format(a, b))

# 文字列結合を使った書き方
print(a + " and " + b)

# f 文字列を使った書き方
print(f"{a} and {b}")

MkDocs をインストールする

静的サイトジェネレーターである MkDocs に関して、日本語の情報源としては Mebiusbox さんがお書きになっている MkDocsによるドキュメント作成 が最強なのでは無いかと思います。 余談ですが 「動かして学ぶ!Rust入門」の執筆 によると Mebiusbox さんは さんは 動かして学ぶ!Rust入門 の著者でもあるそうです (すごい)。

以前に HBFM (Markdown 拡張) を追加した MkDocs の Docker イメージ というメモを書きました。 このは ハートビーツ さんが作成されたプラグインを取り込んだ MkDocs の Docker イメージを利用する前提になっています。 今回は Docker コンテナは利用せず、ローカルに MkDocs をインストールする手順をメモしておきます。

pyATS の GUI である XPRESSO をインストールする

XPRESSO はネットワークテストの自動化ツールである pyATS にブラウザからアクセス可能な UI を提供します。 今回は XPRESSO のインストール手順をメモしておきます。 尚、タイムゾーンの指定など、設定に関しては省略しており、インストール手順までだけをメモしています。

openpyxl で複数範囲セルの外枠に罫線を設定する

Python から Excel を操作するライブラリは幾つか存在しますが、特に openpyxl が有名のように思います。 但し、現状の openpyxls には「複数範囲に対して、一括で外枠を定義する」ようなメソッドが無いようなので、サンプル実装をメモしておきます。 今回は以下を利用しました。

  • python 3.9.6
  • openpyxl 3.1.2

尚、罫線に限らない「書式全般の操作」については openpyxl 公式ドキュメントの Working with styles で言及されています。

Python のパッケージ管理を rye で行う

Python のパッケージ管理ツールは幾つかあります。 Armin Ronacher さんが開発した rye が使いやすかったのでインストールや基本的な利用手順をメモしておきます。 Armin Ronacher さんは rye の他に flask や jinja、click 等を開発されているそうです。 また、rye が初めて公開されたのは 2023 年 5 月だそうです。 今回は macOS 13.4.1 で検証しました。

Python で「プリフィックス / ネットマスク / ワイルドカード」を相互変換する

George Shuklin さんが Wildcard masks operations in Python という記事で「Python でワイルドカードを操作する方法」をまとめてくださっています。 ワイルドカードが関連しないケースも含め、「プリフィックス長」「ネットマスク」「ワイルドカード」を相互変換する Python サンプルコードをメモしておきます。

cron から venv 環境の Python スクリプトを実行する

Python スクリプトを実行する為、以下のように /opt/sample ディレクトリ配下に .venv という venv 環境をしたとします。

1
2
cd /opt/sample
python3 -m venv .venv

この環境に対して venv 環境を意識した Python スクリプトを実行するには (システム全体の Python では無く) 以下のように venv 環境内の Python を指定します。 下記の例では /opt/sample/.venv/bin/python3 のように venv 環境内の Python を指定しています。

1
0 0 * * * root cd /opt/sample/ && /opt/sample/.venv/bin/python3 script.py