如何使用Python 2.5以友好的方式获取操作系统名称?

时间:2009-09-14 12:50:24

标签: python

我试过了:

print os.name

我得到的输出是:

:nt

但是,我希望输出更像“Windows 98”或“Linux”。

在这个问题的建议之后,我也试过了:

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

我的输出是:

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'

我使用的是Python 2.5.2。我做错了什么?

4 个答案:

答案 0 :(得分:36)

尝试:

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

我在我的计算机上使用Python 2.6尝试了这个,我把它作为输出:

Windows XP

在您进行最新编辑后,我看到您调用了脚本platform.py。这会导致命名问题,因为当您调用platform.system()platform.release()时,它会查找您的文件,而不是Python的平台模块。如果您更改文件名,则应解决所有问题。

答案 1 :(得分:13)

这是因为你将你的程序命名为“平台”。因此,在导入模块“platform”时,将导入您的程序而不是循环导入。

尝试将文件重命名为test_platform.py,它会起作用。

答案 2 :(得分:4)

import platform

platform.dist()

答案 3 :(得分:1)

这取决于操作系统:    例如我测试了

    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

Windows我真的不测试也不关心:P