3
votes

Détecter le système d'exploitation avec python

Je cherchais à essayer de trouver une solution à mon problème, le mieux que j'ai pu trouver était celui-ci:

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

Quelqu'un sait-il comment je pourrais différencier un PC Linux d'Android comme Android basé sur Linux. Et si cela est possible, comment pourrais-je différencier Mac OS d'iOS


0 commentaires

3 Réponses :


8
votes

Utilisez le module platform :

'Linux-3.3.0-8.fc16.x86_64-x86_64-with-fedora-16-Verne'

Notez qu'un système fonctionnant sous Mac renverra 'Darwin' pour platform.system()

platform.platform () renverra des données extrêmement détaillées, telles que

import platform
print(platform.system())
print(platform.release())
print(platform.version())


4 commentaires

Existe-t-il un moyen de s'en assurer sur mobile? System.system () fait ce que je veux mais je devrais tester tous les téléphones grand public.


Non seulement cela, mais tous les systèmes d'exploitation aussi en raison de la fragmentation


Je ne suis pas sûr en python vanille, mais Django User Agents détectera si vous êtes sur mobile


request.user_agent.is_mobile



2
votes

D'après mon expérience personnelle, os.uname () a toujours été l'un de mes préférés. La fonction uname ne réside vraiment que dans les systèmes basés sur Linux. Utiliser la fonction dans une méthode similaire à celle-ci est un bon moyen de détecter si vous utilisez un système Windows ou non:

import os

try:
    test = os.uname()
    if test[0] == "Linux":
        do something here.
execpt AttributeError:
    print("Assuming windows!")
    do some other stuff here.

J'espère que cela vous aidera!

p >


0 commentaires

4
votes

vous pouvez voir mon repo github https://github.com/sk3pp3r/PyOS et utiliser script pyos.py

import platform 
plt = platform.system()

if plt == "Windows":
    print("Your system is Windows")
    # do x y z
elif plt == "Linux":
    print("Your system is Linux")
    # do x y z
elif plt == "Darwin":
    print("Your system is MacOS")
    # do x y z
else:
    print("Unidentified system")


0 commentaires