我尝试将 lambda 作为回调分配给 optparse 以处理将多个 -v 传递给应用程序的情况,这会在每次看到 -v 时增加全局变量 DEBUG 时遇到问题。
# globals
DEBUG = 0
(...)
def main():
[...]
parser.add_option("-v", action="callback",
callback=lambda a,b,c,d: DEBUG += 1
help="Verbose (-vvv for added verboseness)")
当它被执行时,结果是:
callback=lambda a,b,c,d: DEBUG += 1
^
SyntaxError: invalid syntax
任何想法或替代(干净)建议?