Я хочу проверить операционную систему (на компьютере, где запускается скрипт).
Я знаю, что могу использовать os.system('uname -o')
в Linux, но это дает мне сообщение в консоли, и я хочу записать в переменную.
Будет нормально, если скрипт скажет, Mac это, Windows или Linux. Как я могу это проверить?
python
linux
operating-system
Колек
источник
источник
Ответы:
Вы можете использовать
sys.platform
:sys.platform
имеет более тонкую гранулярность, чемsys.name
.Для правильных значений обратитесь к документации .
Смотрите также ответ на «На какой ОС я работаю?»
источник
"cygwin"
не так,"win32"
как кто-то может ожидать."linux2"
это больше не является возможным значениемplatform
(см. Связанные документы для подтверждения), и поэтому, если вам нужно только поддерживать Python 3.3 и более поздние версии, вы можете безопасно удалить предложение `or platform ==" linux2 "` из первое условие.Если вы хотите узнать, на какой платформе вы работаете с «Linux», «Windows» или «Darwin» (Mac), без большей точности, вы должны использовать:
platform.system
Функция используетuname
внутренне.источник
Linux
,Windows
,Java
или пустая строка. devdocs.io/python~3.7/library/platform#platform.systemВы можете получить довольно грубое представление об используемой ОС, проверив
sys.platform
.Когда у вас есть эта информация, вы можете использовать ее, чтобы определить,
os.uname()
подходит ли что-то подобное для сбора более конкретной информации. Вы также можете использовать что-то вроде системной информации Python для Unix-подобных ОС или pywin32 для Windows.Также есть psutil, если вы хотите провести более тщательный осмотр, не заботясь об ОС.
источник
Более подробная информация доступна в
platform
модуле .источник
platform
модуля какие-либо преимущества передsys.platform
? Когда я хотел бы использовать какой подход?platform
модуля. Просто нажмите на ссылку для документации.Вы можете использовать
sys.platform
.источник