2009-09-14 4 views
7

J'ai essayé:Comment obtenir le nom du système d'exploitation de manière conviviale avec Python 2.5?

print os.name 

Et la sortie je suis arrivé était:

:nt 

Cependant, je veux une sortie plus comme "Windows 98", ou "Linux".

Après des suggestions dans cette question, j'ai essayé aussi:

import os 
print os.name 
import platform 
print platform.system() 
print platform.release() 

Et ma sortie était:

Traceback (most recent call last): 
    File "C:/Documents and Settings/BIU1LR/Desktop/python_programs/program/platform.py", line 3, in <module> 
    import platform 
    File "C:/Documents and Settings/BIU1LR/Desktop/python_programs/program\platform.py", line 4, in <module> 
    print platform.system() 
AttributeError: 'module' object has no attribute 'system' 

J'utilise Python 2.5.2. Qu'est-ce que je fais mal?

+0

nom du système d'exploitation du serveur? Ou le nom de l'OS du client? (Dans le cas où vous faites du développement web ...) –

+0

voir aussi http://stackoverflow.com/questions/1854/python-how-do-i-tell-what-os-im-running-on – NicDumZ

+0

import sys print (sys.version) nous donne le résultat pour que nous sachions de quoi il s'agit –

Répondre

36

Essayez:

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

J'ai essayé sur mon ordinateur avec Python 2.6 et je suis ce que la sortie:

Windows XP 

Après vos dernières modifications, je vois que vous avez appelé votre plate-forme de script .py. Cela provoque un problème de nom, comme lorsque vous appelez platform.system() et platform.release(), il recherche dans votre fichier, et pas le module de plate-forme de Python. Si vous changez le nom de votre fichier, tous vos problèmes devraient être résolus.

13

c'est parce que vous avez nommé votre programme "plateforme". Ainsi lors de l'importation du module "plateforme", votre programme est importé à la place dans une importation circulaire. Essayez de renommer le fichier en test_platform.py, et cela fonctionnera.

+0

* Namespace collision * – smci

1

bien cela dépend de l'OS: par exemple, je l'avais testé

platform.system() - in linux works, AIX works 
    platform.release()- in linux works, AIX gives a weird '1' with non other info 
    platform.dist() - in linux works, AIX gives a nothing '','','' 
    os.name   - resolves 'posix' in both :S 

de Windows je ne teste pas, ni les soins: P

Questions connexes