os.name
sys.platform
platform.system()
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
,因此这个问题并不特别紧急,但我非常感激对此进行澄清。
sys.platform.startswith('linux')
而不是sys.platform =='linux2'
。 - jfs