python platform

python platformの使い方

タグ platform


python platfromの使い方

概要

  • python標準のOS, CPUのアーキテクチャを簡便に判定するモジュール
  • macOSLinux, armx86_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("サポート外のアーキテクチャです")

参考