可能性のある複製:
Python:実行中のOSは何ですか?
タイトルが言うように、Pythonで現在のオペレーティングシステムを見つけるにはどうすればよいですか?
私は通常、sys.platform
を使用してプラットフォームを取得します。 sys.platform
はLinux、他のUNIX、およびOS Xを区別しますが、os.name
はそれらすべてに対して「posix
」です。
より詳細な情報については、 プラットフォームモジュール を使用してください。これには、マシンアーキテクチャ、OSおよびOSバージョン、Pythonのバージョンなどに関する情報を提供するクロスプラットフォーム機能があります。また、特定のLinuxディストリビューションなどを取得するためのOS固有の機能もあります。
ユーザーが読み取り可能なデータが必要な場合でも、詳細が必要な場合は、 platform.platform() を使用できます。
>>> import platform
>>> platform.platform()
'Linux-3.3.0-8.fc16.x86_64-x86_64-with-Fedora-16-Verne'
platform
には、他にも便利なメソッドがいくつかあります。
>>> platform.system()
'Windows'
>>> platform.release()
'XP'
>>> platform.version()
'5.1.2600'
あなたがどこにいるかを特定するために行うことができるいくつかの異なる呼び出しがあります
import platform
import sys
def linux_distribution():
try:
return platform.linux_distribution()
except:
return "N/A"
print("""Python version: %s
dist: %s
linux_distribution: %s
system: %s
machine: %s
platform: %s
uname: %s
version: %s
mac_ver: %s
""" % (
sys.version.split('\n'),
str(platform.dist()),
linux_distribution(),
platform.system(),
platform.machine(),
platform.platform(),
platform.uname(),
platform.version(),
platform.mac_ver(),
))
このスクリプトの出力は、いくつかの異なるシステム(Linux、Windows、Solaris、MacOS)で実行され、アーキテクチャ(x86、x64、Itanium、power pc、sparc)はここから入手できます。 https://github.com/ hpcugent/easybuild/wiki/OS_flavor_name_version
import os
print os.name
これにより、通常必要な基本情報が得られます。たとえば、Windowsの異なるエディションを区別するには、プラットフォーム固有の方法を使用する必要があります。
https://docs.python.org/library/os.html
Gregの投稿を補完するために、MacOS、Linux、Unixなどを含むposixシステムを使用している場合、os.uname()を使用して、どのようなシステムであるかをよりよく把握できます。
線に沿って何か:
import os
if (os.name == "posix"):
print os.system("uname -a")
# insert other possible OSes here
# ...
else:
print "unknown OS"