Как найти текущую ОС в 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"