Как я могу найти текущую ОС в Python?[дубликат]
-
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"