私は、ドライブのスキャンと、それが実行される OS 用のシェル/バッチ ファイルの自動作成を含むクロス プラットフォーム ユーティリティに取り組んでいます。残念ながら、私は1つの簡単な答えを見つけることができません. これらのリンクに記載されているように:
- os.name、sys.platform、または platform.system をいつ使用するか?
- Python で Windows を確実に検出する
- os/path 形式に関係なく、パスからファイル名を抽出します
- Python: 実行している OS は?
- およびhttp://docs.python.org/library/platform.html#module-platformで
さまざまな platform.system()、platform.platform()、sys.platform、os.name() などはすべて、必ずしも将来的に完全であるとは限らないという問題を抱えています。つまり、OS 開発者が少し変更した場合、これらは機能しない可能性があります (少なくともパッチが適用されるか改訂されるまで)。したがって、明らかに最善の解決策は、call() を使用して OS 固有の実行可能ファイルをターゲットにするとともに、上記のそれぞれのごく一部を試すことです。
これを判断する最善の方法には、platform.system、sys.platform、および os.name が含まれるため (一般化された認識のみが必要であると仮定)、これらのプログラムのさまざまな可能な出力は何ですか? これらの各モジュールの docs.python.org セクションには、いくつかがリストされているだけであり、ページは最新のものではありません。具体的には、最後の 3 つの Mac OS である Win XP-Win 8 で可能な出力を知りたいです。Linux を知っているだけで、そこでのニーズがカバーされます。出力が何であるか、またはどこでそれらを見つけることができるか知っている人はいますか?
前もって感謝します。
明確化: ここで探しているのは、現在既知の値であるため、既存のプロジェクトにそれらを組み込むことができ、将来のコードの改訂が容易になることを念頭に置いています。したがって、CURRENT の戻り値は私が求めているものです (Mac OS* と Windows の最後の 3 世代 * それ以降はおそらくあまり使用されていないため)。