オペレーティングシステムを確認したい(スクリプトが実行されているコンピューター上)。
Linuxでos.system('uname -o')
を使用できることは知っていますが、コンソールにメッセージが表示され、変数に書き込みたいと思います。
スクリプトがMac、Windows、Linuxのいずれであるかを判断できれば問題ありません。どうすれば確認できますか?
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
よりも細かく設定されています。
有効な値については、 ドキュメント を参照してください。
sys.platform
をチェックすることで、使用しているOSのかなり大雑把なアイデアを得ることができます。
その情報を取得したら、それを使用して、より具体的な情報を収集するために os.uname()
などの呼び出しが適切かどうかを判断できます。また、UnixライクなOSでは Python System Information 、Windowsでは pywin32 のようなものを使用することもできます。
OSを気にせずにさらに詳細な検査を行いたい場合は、 psutil もあります。
どのプラットフォームで「Linux」、「Windows」、または「Darwin」(Mac)かをより正確に知りたい場合は、次を使用する必要があります。
>>> import platform
>>> platform.system()
'Linux' # or 'Windows'/'Darwin'
platform.system
関数は、uname
を内部的に使用します。
より詳細な情報は platform
モジュール で利用可能です。
sys.platform
を使用できます。