2013-11-22 76 views
0

我在Ubuntu 13.10下使用Python shell。我的Linux內核版本是「3.11.0-13-generic」。那麼爲什麼在Python變量「sys.platform」存儲值「Linux2」而不是「Linux3」?Python:sys.platform錯誤結果

enter image description here

回答

3

the docs

改變在2.7.3版本:由於大量的代碼檢查爲sys.platform == 'linux2',並有Linux的2.x和3.x之間沒有本質的變化,sys.platform是始終設置爲'linux2',即使在Linux 3.x上也是如此。

0

因爲sys.platform不是內核版本。它是在編譯時添加到python二進制文件或庫中的字符串。它始終是linux2上的linux2,除了Python3.3之後,它改爲只有linux

Possible values from sys.platform?

2

按照documentation

sys.platform總是被設置爲 '將linux2',甚至在Linux 3.x的在Python 3.3及更高版本中,該值將始終設置爲'linux',因此建議始終使用上面提供的startswith慣用語。