it-swarm.com.ru

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

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

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

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

109
kolek

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

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

sys.platform имеет более высокую степень детализации, чем sys.name.

За действительными значениями обращайтесь к документация .

223
the wolf

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

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

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

14
Nick Bastin

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

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

Функция platform.system использует uname для внутреннего использования.

14
Laurent LAPORTE

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

7
Sven Marnach

Вы можете использовать sys.platform .

3
Ondrej Slinták