Как найти текущую ОС в Python?

Возможный дубликат:
Python: на какой ОС я работаю?

Как гласит название, как я могу найти текущую операционную систему в python?

Ответ 1

Я обычно использую sys.platform (документы), чтобы получить платформу. sys.platform будет различать linux, другие unixes и OS X, тогда как os.name является "posix" для всех из них.

Для более подробной информации используйте модуль платформы. Он имеет кроссплатформенные функции, которые предоставят вам информацию об архитектуре машины, версии ОС и версии, версии Python и т.д. Также он имеет специфичные для ОС функции для получения таких вещей, как конкретный дистрибутив Linux.

Ответ 2

Если вы хотите, чтобы данные читались пользователем, но все еще были подробными, вы можете использовать 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

Ответ 3

import os
print os.name

Это дает вам необходимую информацию, которая вам обычно нужна. Чтобы различать, скажем, разные версии Windows, вам придется использовать специфичный для платформы метод.

Ответ 4

https://docs.python.org/library/os.html

В дополнение к сообщению Greg, если вы находитесь в системе posix, которая включает в себя MacOS, Linux, Unix и т.д., вы можете использовать os.uname(), чтобы лучше понять, что это за система.

Ответ 5

Что-то по строкам:

import os
if (os.name == "posix"):
    print os.system("uname -a")
# insert other possible OSes here
# ...
else:
    print "unknown OS"