2009-09-14 13 views
7

me trataron:¿Cómo obtengo el nombre del sistema operativo de manera amigable usando Python 2.5?

print os.name 

Y la salida me dieron fue:

:nt 

Sin embargo, quiero salida más como "Windows 98", o "Linux".

Después de sugerencias en esta pregunta, también probé:

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

Y mi salida fue:

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' 

estoy usando Python 2.5.2. ¿Qué estoy haciendo mal?

+0

nombre del sistema operativo del servidor? O el nombre del SO del cliente? (En caso de que esté haciendo un desarrollo web ...) –

+0

vea también http://stackoverflow.com/questions/1854/python-how-do-i-tell-what-os-im-running-on – NicDumZ

+0

import sys print (sys.version) nos da el resultado para que sepamos con qué estamos tratando –

Respuesta

36

Probar:

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

He intentado esto en mi equipo con Python 2.6 y me dio esto como la salida:

Windows XP 

Después de sus últimas ediciones, veo que llamó su plataforma guión .py. Esto está causando un problema de nomenclatura, como cuando llama al platform.system() y platform.release(), está buscando en su archivo y no en el módulo de plataforma de Python. Si cambia el nombre de su archivo, todos sus problemas deberían resolverse.

13

es porque usted llamó a su programa "plataforma". Por lo tanto, al importar el módulo "plataforma", su programa se importa en cambio en una importación circular.

Intenta cambiar el nombre del archivo a test_platform.py, y funcionará.

+0

* Colisión del espacio de nombres * – smci

1

así que depende del sistema operativo: por ejemplo, que había probado

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 Realmente no probar ni cuidado: P

Cuestiones relacionadas