Как я могу найти текущую ОС в Python?[дубликат]

StackOverflow https://stackoverflow.com/questions/110362

  •  02-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

Если вам нужны читаемые пользователем данные, но при этом подробные, вы можете использовать платформа.платформа()

>>> 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

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

Что-то в духе:

import os
if (os.name == "posix"):
    print os.system("uname -a")
# insert other possible OSes here
# ...
else:
    print "unknown OS"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top