複数の-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
アイデアや代替(クリーン)な提案はありますか?