プラットフォーム モジュールを見つけましたが、'Windows' を返すと書かれていますが、私のマシンでは 'Microsoft' が返されます。stackoverflow の別のスレッドでは、時々 'Vista' が返されることに気付きました。
それで、質問は、どのように実装するかということです。
if is_windows():
...
前方互換性がある方法ですか? 「Vista」のようなものをチェックする必要がある場合、次のバージョンの Windows がリリースされたときに機能しなくなります。
注: これは重複した質問であると主張する回答は、実際には質問 に答えていませんis_windows
。それらは「どのプラットフォームか」という質問に回答しています。Windows にはさまざまな種類があるため、 の回答を得る方法を包括的に説明している回答はありませんisWindows
。
ベストアンサー1
パイソンオスモジュール
Python 3.6/3.7 の場合:
os.name
: インポートされたオペレーティング システム依存モジュールの名前。現在登録されている名前は、「posix」、「nt」、「java」です。
あなたの場合、os.name
出力として「nt」をチェックしたいのです:
import os
if os.name == 'nt':
...
以下についても注記がありますos.name
:
参照
sys.platform
より細かい粒度を持ちます。os.uname()
システムに依存するバージョン情報を提供します。のプラットホームモジュールはシステムの ID の詳細なチェックを提供します。