相关疑难解决方法(0)

何时使用os.name,sys.platform或platform.system?

据我所知,Python有3种方法可以找出正在运行的操作系统:

  1. os.name
  2. sys.platform
  3. platform.system()

了解此信息通常在条件导入中使用,或者使用不同平台之间的功能(例如,time.clock()在Windows上与time.time()UNIX上).

我的问题是,为什么有3种不同的方法呢?何时应该使用一种方式而不是另一种方式?哪种方式是"最佳"(大多数面向未来或最不可能意外地排除您的程序实际可以运行的特定系统)?

看起来sys.platform是不是更具体的os.name,可以让你区分win32cygwin(而不是只nt),并linux2darwin(而不是只posix).但如果是这样的话,那么sys.platform和之间的区别platform.system()呢?

例如,哪个更好,这个:

import sys
if sys.platform == 'linux2':
    # Do Linux-specific stuff
Run Code Online (Sandbox Code Playgroud)

或这个?:

import platform
if platform.system() == 'Linux':
    # Do Linux-specific stuff
Run Code Online (Sandbox Code Playgroud)

现在我会坚持sys.platform,所以这个问题并不是特别紧迫,但我非常感谢对此有所澄清.

python operating-system python-import

93
推荐指数
5
解决办法
4万
查看次数

标签 统计

operating-system ×1

python ×1

python-import ×1