我想让Waf在完成任何超过10秒的命令执行时发出蜂鸣声。
我不知道如何添加它并确保代码在Waf退出时执行。
这应该适用于任何Waf命令,而不仅仅是构建。
我检查了Waf book,但我无法找到任何关于我该怎么办的说明。
答案 0 :(得分:4)
在wscript
模块中,您可以使用Python标准库的atexit来注册在进程退出时要调用的callable。例如:
import atexit
import time
class MayBeep(object):
def __init__(self, deadline=10.0):
self.deadline = time.time() + deadline
def __call__(self):
if time.time() > self.deadline():
print '\7'
atexit.register(MayBeep())
... rest of your wscript module ...
当然,你可以使用比print '\7'
更好的东西用于哔哔声(一直到成熟的多媒体盛会,取决于你导入和使用的其他Python扩展),但这段代码回答了Q的标题 - - “添加在退出时始终执行的代码”。