Quero verificar o sistema operacional (no computador em que o script é executado).
Eu sei que posso usar os.system('uname -o')
no Linux, mas isso me dá uma mensagem no console e quero gravar em uma variável.
Tudo bem se o script puder dizer se é Mac, Windows ou Linux. Como posso verificar?
python
linux
operating-system
Kolek
fonte
fonte
Respostas:
Você pode usar
sys.platform
:sys.platform
tem granularidade mais fina quesys.name
.Para os valores válidos, consulte a documentação .
Consulte também a resposta para "Em qual SO estou executando?"
fonte
"cygwin"
não retorna"win32"
como alguém poderia esperar."linux2"
não é mais um valor possível deplatform
(consulte os documentos vinculados para corroboração); portanto, se você precisar apenas suportar o Python 3.3 e posterior, poderá excluir com segurança a cláusula `or platform ==" linux2 "` da primeira condição.Se você deseja saber em qual plataforma está fora do "Linux", "Windows" ou "Darwin" (Mac), sem mais precisão, use:
A
platform.system
função usauname
internamente.fonte
Linux
,Windows
,Java
ou uma string vazia. devdocs.io/python~3.7/library/platform#platform.systemVocê pode ter uma ideia geral do sistema operacional que está usando, verificando
sys.platform
.Depois de obter essas informações, você pode usá-las para determinar se chamar algo como
os.uname()
é apropriado para coletar informações mais específicas. Você também pode usar algo como Informações do sistema Python em sistemas operacionais semelhantes ao unix ou pywin32 para Windows.Também há psutil, se você deseja fazer uma inspeção mais profunda sem querer se preocupar com o sistema operacional.
fonte
Informações mais detalhadas estão disponíveis no
platform
módulo .fonte
platform
módulo tem alguma vantagemsys.platform
? Quando eu gostaria de usar qual abordagem?platform
módulo. Basta clicar no link para obter a documentação.Você pode usar
sys.platform
.fonte