web-dev-qa-db-ja.com

Pythonでオペレーティングシステムを確認するにはどうすればよいですか?

オペレーティングシステムを確認したい(スクリプトが実行されているコンピューター上)。

Linuxでos.system('uname -o')を使用できることは知っていますが、コンソールにメッセージが表示され、変数に書き込みたいと思います。

スクリプトがMac、Windows、Linuxのいずれであるかを判断できれば問題ありません。どうすれば確認できますか?

119
kolek

sys.platform を使用できます。

from sys import platform
if platform == "linux" or platform == "linux2":
    # linux
Elif platform == "darwin":
    # OS X
Elif platform == "win32":
    # Windows...

sys.platformは、sys.nameよりも細かく設定されています。

有効な値については、 ドキュメント を参照してください。

240
the wolf

sys.platform をチェックすることで、使用しているOSのかなり大雑把なアイデアを得ることができます。

その情報を取得したら、それを使用して、より具体的な情報を収集するために os.uname() などの呼び出しが適切かどうかを判断できます。また、UnixライクなOSでは Python System Information 、Windowsでは pywin32 のようなものを使用することもできます。

OSを気にせずにさらに詳細な検査を行いたい場合は、 psutil もあります。

15
Nick Bastin

どのプラットフォームで「Linux」、「Windows」、または「Darwin」(Mac)かをより正確に知りたい場合は、次を使用する必要があります。

>>> import platform
>>> platform.system()
'Linux'  # or 'Windows'/'Darwin'

platform.system 関数は、unameを内部的に使用します。

15
Laurent LAPORTE

より詳細な情報は platformモジュール で利用可能です。

7
Sven Marnach

sys.platform を使用できます。

3
Ondrej Slinták