Python:如何断言我在POSIX环境下运行?
我正在写一些专门针对POSIX系统的代码,虽然我不打算支持其他平台,但我希望如果有人尝试在其他平台上使用我的代码时,能看到一个清晰的错误提示,而不是一些奇怪的错误信息。
有没有什么简单的方法可以检查这一点呢?我想我可以尝试用 import posix
来导入,然后捕捉 ImportError
,但这样感觉有点啰嗦。
3 个回答
0
与其导入posix模块,不如导入os模块,这样用户可以使用一部分指令(但不是那些特定于posix的指令)。然后你可以利用sys.platform这个功能来检查用户运行你代码的操作系统,然后决定是否抛出一个异常 :)
3
你可以:
def is_posix():
try:
import posix
return True
except ImportError:
return False
你也可以查看 sys.platform
或 os.uname()[0]
来获取系统信息,但我觉得问“你的系统有没有这个功能”比问“你的系统是其中之一吗……因为我知道它们现在有这个功能”更自然。
12
看看这个 os.name
:
这是一个跟操作系统有关的模块名称。现在已经注册的名称有:'posix'、'nt'、'os2'、'ce'、'java' 和 'riscos'。
如果你需要更详细的信息,还可以查看 sys.platform
和 os.uname()
。