2013-11-22 4 views
0

나는 우분투 13.10에서 파이썬 셸을 사용합니다. 제 리눅스 커널 버전은 "3.11.0-13-generic"입니다. 그렇다면 왜 파이썬 변수 "sys.platform"에 "Linux3"대신 "Linux2"값이 저장 되었습니까? sys.platform 때문에Python : sys.platform 잘못된 결과

enter image description here

답변

3

:

버전 2.7.3에서 변경 : sys.platform == 'linux2'에 대한 코드 검사를 많이하기 때문에, 리눅스 2.x 및 3.x 사이에 본질적인 변화가 없다가, sys.platform입니다 Linux 3.x에서도 항상 'linux2'으로 설정하십시오.

0

은 커널 버전이 아닙니다. 파이썬이 컴파일 될 때 파이썬 바이너리 또는 라이브러리에 추가 된 문자열입니다. 파이썬 3.3 이후로 리눅스를 사용하는 경우는 항상 linux으로 변경됩니다. documentation에 따르면

Possible values from sys.platform?

2

:

sys.platform 항상 심지어 리눅스 3.x에에 '에서 동시'로 설정 Python 3.3 이상에서는 값이 항상 'linux'로 설정되므로 위에서 제시 한 startswith 관용구를 항상 사용하는 것이 좋습니다. the docs에서