2009-09-14 12 views
7

は、私が試した:Python 2.5を使用してオペレーティングシステム名を取得するにはどうすればよいですか?

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を使用しています。私は間違って何をしていますか?

+0

OS名: 例えば私は

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の私は本当にテストも気にしない

をテストしていましたか?またはクライアントのOS名? (あなたがウェブ開発をしている場合) –

+0

も参照してください。http://stackoverflow.com/questions/1854/python-how-do-i-tell-what-os-im-running-on – NicDumZ

+0

import sys print(sys.version)結果を返します。 –

答えて

36

試してみてください。

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

私は、Python 2.6で自分のコンピュータ上でこれをしようと、私は出力としてこれを得た:最新の編集後

Windows XP 

、私はあなたのスクリプトプラットフォームと呼ばれることがわかり.py。これは、あなたがplatform.system()platform.release()を呼び出すときに、Pythonのプラットフォームモジュールではなく、あなたのファイルを見ているように、ネーミングの問題を引き起こしています。ファイルの名前を変更する場合は、すべての問題を解決する必要があります。

13

あなたの名前はあなたのプログラム "platform"です。したがって、モジュール "platform"をインポートするときに、プログラムは循環インポートではなくインポートされます。

ファイルの名前をtest_platform.pyに変更してみてください。

+0

*名前空間の衝突* – smci

1

だけでなく、それはOSに依存します。サーバーのP

関連する問題