我有一些代码,只有当一个特定的硬件设备连接运行。调试时我想放弃这个限制。你知道吗
为此,我尝试用一个只返回True
的匿名函数临时替换检查硬件是否已连接的函数:
import drm
def OnStartButton(self, evt):
# Don't check for dongle in debug mode.
if Globals.DEBUG:
# Store the original function so we can reassign it later.
func_store = drm.is_dongle_attached
drm.is_dongle_attached = lambda x: return True
if drm.is_dongle_attached():
do_some_stuff()
if Globals.DEBUG:
# Reassign function back to the original.
drm.is_dongle_attached = func_store
然而,这似乎不是一个合法的概念,因为我在网上看到一个SyntaxError
:
drm.is_dongle_attached = lambda x: return True
^
还有
至
不能在
lambda
函数中使用return
语句。实际上,你只能在其中使用表达式。所以,就这么做吧引用official documentation
实际上,在您的例子中,调用
is_dongle_attached
时没有任何参数。因此,需要定义lambda
函数而不带参数,如下所示相关问题 更多 >
编程相关推荐