Как проверить операционную систему на Python?
Я хочу проверить операционную систему (на компьютере, где выполняется script).
Я знаю, что могу использовать os.system('uname -o')
в Linux, но он дает мне сообщение в консоли, и я хочу написать переменную.
Все будет в порядке, если script может определить, есть ли это Mac, Windows или Linux. Как я могу проверить это?
Ответы
Ответ 1
Вы можете использовать sys.platform
:
from sys import platform
if platform == "linux" or platform == "linux2":
# linux
elif platform == "darwin":
# OS X
elif platform == "win32":
# Windows...
Для допустимых значений обратитесь к документации.
Ответ 2
Вы можете получить довольно грубую идею операционной системы, которую вы используете, установив sys.platform
.
Как только у вас есть эта информация, вы можете использовать ее, чтобы определить, подходит ли для вызова более точной информации os.uname()
. Вы также можете использовать что-то вроде Python System Information на unix-подобных операционных системах, или pywin32 для Windows.
Там также psutil, если вы хотите сделать более углубленный осмотр, не заботясь о ОС.
Ответ 3
Более подробная информация доступна в platform
module.
Ответ 4
Вы можете использовать sys.platform
.
Ответ 5
Если вы хотите узнать, на какой платформе вы находитесь: "Linux", "Windows" или "Darwin" (Mac) без дополнительной точности, вы должны использовать:
>>> import platform
>>> platform.system()
'Linux' # or 'Windows'/'Darwin'
Функция platform.system
использует uname
внутренне.
Ответ 6
Кажется, есть некоторая противоречивая информация о том, как идентифицируется Windows. Некоторые источники говорят "Windows", а другие источники говорят "win32".
С учетом этого...
from sys import platform
if "win" in platform.lower():
print platform
win32
Это может быть верно и в Cygwin. Но вы всегда можете добавить чек, чтобы убедиться, что "cy" там нет.