据我所知,Python有3种方法来找出运行什么操作系统:
os.namesys.platformplatform.system()
知道此信息对于有条件导入或使用不同平台之间的功能(例如,time.clock()在Windows和time.time()UNIX上)通常很有用。
我的问题是,为什么要使用3种不同的方法?什么时候应该使用一种方法而不是另一种方法?哪种方法是“最佳”的(最好是面向未来的,或者最不可能偶然排除程序可以实际运行的特定系统)?
好像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'为了将来的兼容性