Возможный дубликат:
Python: на какой ОС я работаю?
Как гласит название, как я могу найти текущую операционную систему в python?
Возможный дубликат:
Python: на какой ОС я работаю?
Как гласит название, как я могу найти текущую операционную систему в python?
Я обычно использую sys.platform
(документы), чтобы получить платформу. sys.platform
будет различать linux, другие unixes и OS X, тогда как os.name
является "posix
" для всех из них.
Для более подробной информации используйте модуль платформы. Он имеет кроссплатформенные функции, которые предоставят вам информацию об архитектуре машины, версии ОС и версии, версии Python и т.д. Также он имеет специфичные для ОС функции для получения таких вещей, как конкретный дистрибутив Linux.
Если вы хотите, чтобы данные читались пользователем, но все еще были подробными, вы можете использовать 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, если вы находитесь в системе 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"