Pas*_*ist 2 python import python-import
我在我的项目中使用自定义日志记录模块.如果它不可用,我想用假人代替它而不是提高ImportError
.
这是当前执行此操作的代码:
try:
import logger
except ImportError:
print 'Couldn\'t load logger'
class DummyLogger(object):
def __init__(self):
pass
def log(self, image):
pass
logger = DummyLogger()
Run Code Online (Sandbox Code Playgroud)
我不认为这是一个优雅的解决方案.它确实有效,但它并不好.有没有更好的办法?
我会将虚拟实现放入一个单独的模块中,并调用dummy_loggger
:
try:
import logger
except ImportError:
import dummy_logger as logger
Run Code Online (Sandbox Code Playgroud)
我以前用JSON解析器完成了这个:
try:
import ujson as json # very fast but might not be available in some cases
except ImportError:
import json
Run Code Online (Sandbox Code Playgroud)