据我所知,Python 有3种方法可以找出操作系统的运行情况:
os.namesys.platformplatform.system()了解这些信息在条件导入或使用不同平台之间的功能(例如,Windows 上的 time.clock()和 UNIX 上的 time.time())中通常很有用。
我的问题是,为什么会有三种不同的方法呢?什么时候应该使用一种方法而不是另一种方法?哪种方式是“最好的”(最不可能或最不可能意外地排除一个特定的系统,您的程序实际上可以运行在这个系统上) ?
看起来 sys.platform比 os.name更具体,这样你就可以区分 win32和 cygwin(与 nt相对) ,以及 linux2和 darwin(与 posix相对)。但是如果是这样的话,那么 sys.platform和 platform.system()之间的区别是什么呢?
例如,哪个更好,这个:
import sys
if sys.platform == 'linux2':
# Do Linux-specific stuff
还是这个:
import platform
if platform.system() == 'Linux':
# Do Linux-specific stuff
现在我将坚持 sys.platform,所以这个问题不是特别紧急,但我会非常感谢一些澄清关于这一点。