Windows系统中调用os.EX_CONFIG触发AttributeError的兼容方案咨询
兼容Unix和Windows的退出码处理方案
针对Windows系统不支持os.EX_CONFIG等Unix专属退出码导致的AttributeError,可以用以下两种简洁方案解决:
方案一:安全属性获取(推荐)
利用Python内置的getattr()函数,尝试获取os.EX_CONFIG,如果该属性不存在(比如Windows系统),则返回预设的通用非0退出码(比如1):
import os import sys exit_code = getattr(os, 'EX_CONFIG', 1) sys.exit(exit_code)
方案二:按系统类型分支判断
先通过sys.platform判断当前系统,Unix类系统(Linux、macOS等)使用os.EX_CONFIG,其他系统使用通用退出码:
import os import sys if sys.platform in ('linux', 'darwin'): exit_code = os.EX_CONFIG else: exit_code = 1 sys.exit(exit_code)
两种方案都能保证程序在Unix系统使用指定退出码,在不支持的系统上不会触发AttributeError。
内容的提问来源于stack exchange,提问作者albertopasqualetto
相关产品推荐
相关产品推荐

