グローバル変数DEBUGを増やす必要がある複数の-vが渡された場合の処理をoptparseのコールバックとしてラムダを割り当てようとすると問題が発生します。 a -vが見えるたびに。python optparseとlambdaをコールバックとして使用する問題
# 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
任意のアイデアや代替(クリーン)の提案?
とにかく、あなたは、とにかくargparseの使用を検討する必要があります。 :) – Evpok