python platfromの使い方
概要
- python標準のOS, CPUのアーキテクチャを簡便に判定するモジュール
macOS
とLinux
,arm
とx86_64
で処理を分岐する必要があるときがユースケース
具体例
- mecabの辞書ファイルはos, cpuでパスが異なる
- match caseとplatformモジュールで対応可能
match (platform.system(), platform.processor()):
case ("Darwin", "arm"):
parser = MeCab.Tagger("-Owakati -d /opt/homebrew/lib/mecab/dic/mecab-ipadic-neologd/")
case ("Linux", "x86_64"):
parser = MeCab.Tagger("-Owakati -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/")
case ("Linux", "aarch64"):
parser = MeCab.Tagger("-Owakati -d /usr/lib/aarch64-linux-gnu/mecab/dic/mecab-ipadic-neologd/")
case _:
raise Exception("サポート外のアーキテクチャです")