我正在创建跨平台的Python应用程序,所以我需要注意与平台可用性相关的官方声明,例如:
操作系统.getlogin()
...
可用性:Unix,Windows,不是Emscripten,不是WASI。
不幸的是,我不能弄清楚什么是“不可用”的程序行为的广泛光谱的函数(不仅getlogin()
)。
1.是否有一些标准的例外来区分“不可用”的情况?
1.始终使用try...except StandardError
Package 调用以提供故障转移是否足够?
1.我是否需要用try
隐藏import
,或者对于函数调用来说已经足够了?换句话说:
try:
import os
os.getlogin()
...
except StandardError: # platform doesn't support user recognition
...
对比分析
import os
try:
os.getlogin()
...
except StandardError: # platform doesn't support user recognition
...
1条答案
按热度按时间ar7v8xwq1#
您只会得到一个
AttributeError
。例如,在MacOS上(set_handle_inheritable
仅在Windows上可用):因此,您可以:
import os
并在每次使用前检查操作系统ImportError
AttributeError