2009-09-14 2 views
7

내가 시도 :Python 2.5를 사용하여 친숙한 방식으로 운영 체제 이름을 얻으려면 어떻게해야합니까?

print os.name 

그리고 내가 가진 출력했다 :

:nt 

그러나, 좀 더 "윈도우 98"또는 "리눅스"와 같은 출력을합니다.

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

을 그리고 내 출력했다 :이 질문에 제안 후

가, 나 또한 노력 내가 파이썬 2.5.2를 사용하고

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' 

. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+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 

윈도우 정말 테스트도 상관 없어

을 테스트했다? 아니면 클라이언트의 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() 

내가 파이썬 2.6 내 컴퓨터에서 시도하고 내가 출력으로이있어 : 난 당신이 스크립트 플랫폼이라고 볼 최근 편집 후

Windows XP 

.py. 이로 인해 platform.system()platform.release()을 호출 할 때 파일에서 파이썬의 플랫폼 모듈이 아니라 이름 지정 문제가 발생합니다. 파일 이름을 변경하면 모든 문제점을 해결해야합니다.

13

귀하의 프로그램 이름이 "플랫폼"이기 때문입니다. 따라서 "플랫폼"모듈을 가져올 때 순환 가져 오기 대신 프로그램을 가져옵니다.

파일의 이름을 test_platform.py로 변경하면 제대로 작동합니다.

+0

* Namespace collision * – smci

1

잘은 OS에 따라 달라집니다 서버의 P