我想让Waf在完成任何花费超过 10 秒的命令的执行时发出哔声。
我不知道如何添加它并确保代码在 Waf 退出时执行。
这应该适用于任何 Waf 命令,而不仅仅是构建。
我检查了Waf 书,但找不到任何关于我应该如何执行此操作的指示。
在您的wscript
模块中,您可以使用 Python 标准库的atexit来注册您希望在进程退出时调用的可调用对象。例如:
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 的标题——“添加总是在出口”。