1

私はargparseにほとんど問題がありません。誰かが、次の2つの問題についてアドバイスしていただければ幸いです。

1)私のスクリプトはいくつかのコマンドライン引数を取ります。そのうちの1つは--colorです。argparseに次の構文を適用させたい:-color = Trueであり、次のような構文を許容しない:--colorTrue。

parser = argparse.ArgumentParser()
parser.add_argument('--color', nargs=1, default=True)

2)私が使用している別のオプションは-iです

parser.add_argument('-i','--ignorecase', action='store_true')
args = parser.parse_args()

TrueかFalseかに応じて、re.compileはflags=re.IGNORECASEまたはflags=0を使用します

if (args.ignorecase == True):

   CASE_SENSITIVITY=re.IGNORECASE
else:

   CASE_SENSITIVITY=0

pattern = re.compile('my_pattern', flags=CASE_SENSITIVITY)

値をCASE_SENSITIVITYに割り当てる簡単な方法はありますか?おそらく、parser.add_argument内にあるので、他の場合など、複数のステップを回避できますか?

4

1 に答える 1

1

次のような三項演算子をいつでも使用できます。

CASE_SENSITIVITY = 0 if not args.ignorecase else re.IGNORECASE
于 2013-01-29T23:18:11.930 に答える