相关疑难解决方法(0)

是否有一种聪明的方法将密钥传递给defaultdict的default_factory?

一个类有一个构造函数,它接受一个参数:

class C(object):
    def __init__(self, v):
        self.v = v
        ...
Run Code Online (Sandbox Code Playgroud)

在代码的某处,dict中的值可以用来知道它们的键.
我想使用defaultdict,并将密钥传递给新生默认值:

d = defaultdict(lambda : C(here_i_wish_the_key_to_be))
Run Code Online (Sandbox Code Playgroud)

有什么建议?

python

81
推荐指数
4
解决办法
1万
查看次数

当我在响应中提出自己的异常时,如何更容易地抑制先前的异常?

考虑

try:
   import someProprietaryModule
except ImportError:
   raise ImportError('It appears that <someProprietaryModule> is not installed...')
Run Code Online (Sandbox Code Playgroud)

运行时,如果未安装someProprietaryModule,则可以看到:

(traceback data)
ImportError: unknown module: someProprietaryModule

During handling of the above exception, another exception occurred:

(traceback data)
ImportError: It appears that <someProprietaryModule> is not installed...
Run Code Online (Sandbox Code Playgroud)

也许我不希望出现"在处理上述异常......"行(以及它上面的行).我能做到这一点:

_moduleInstalled = True
try:
   import someProprietaryModule
except ImportError:
   _moduleInstalled = False
if not _moduleInstalled: 
   raise ImportError('It appears that <someProprietaryModule> is not installed...')
Run Code Online (Sandbox Code Playgroud)

但这感觉有点像黑客.我还能做什么?

python exception traceback python-3.x python-3.3

24
推荐指数
1
解决办法
4439
查看次数

标签 统计

python ×2

exception ×1

python-3.3 ×1

python-3.x ×1

traceback ×1