Как проверить операционную систему в Python?



Я хочу проверить операционную систему (на компьютере, где работает скрипт).



Я знаю, что могу использовать os.system('uname -o') в Linux, но это дает мне сообщение в консоли, и я хочу записывать в переменную.



это будет хорошо, если скрипт может сказать, если это Mac, Windows или Linux. Как я могу это проверить?

729   6  

6 ответов:

можно использовать sys.platform:

from sys import platform
if platform == "linux" or platform == "linux2":
    # linux
elif platform == "darwin":
    # OS X
elif platform == "win32":
    # Windows...

для получения допустимых значений, обратитесь документация.

вы можете получить довольно грубое представление об ОС, которую вы используете, проверив sys.platform.

Как только у вас есть эта информация, вы можете использовать ее, чтобы определить, если вызов что-то вроде os.uname() подходит для сбора более конкретной информации. Вы также можете использовать что-то вроде Информация О Системе Python на unix-подобных ОС, или pywin32 для Windows.

там же psutil если вы хотите сделать больше углубленный осмотр, не желая заботиться о ОС.

более подробная информация доступна в разделе platform модуль.

Если вы хотите знать, на какой платформе вы находитесь:" Linux"," Windows "или" Darwin " (Mac) без дополнительной точности, вы должны использовать:

>>> import platform
>>> platform.system()
'Linux'  # or 'Windows'/'Darwin'

The platform.system использование функции uname внутренне.

можно использовать sys.platform.

там, кажется, есть противоречивые сведения о том, как Windows определяет. Некоторые источники говорят "Windows", а другие источники говорят"win32".

имея это в виду...

from sys import platform

if "win" in platform.lower():
    print platform

win32

это может быть верно в Cygwin, хотя. Но вы всегда можете добавить чек, чтобы убедиться, что "cy" там нет.

Comments

    Ничего не найдено.