コマンドラインからPythonプログラムに入力引数として文字列を渡そうとしています。つまり$python parser_prog.py <pos1> <pos2> --opt1 --opt2
、argparseを使用してこれらを解釈しています。もちろん、メタ文字が含まれている場合、これらは最初にシェルによって解釈されるため、引用する必要があります。
これは機能しているようです。文字列は文字どおりに渡され、\*?! 文字:
$ python parser_prog.py 'str\1*?' 'str2!'
ただし、「-」(ハイフン) 文字を通過しようとすると、マスクできないようです。無効なオプションとして解釈されます。
$ python parser_prog.py 'str\1*?' '-str2!'
一重引用符と二重引用符を試しましたが、Python がこれを生の文字列として解釈することを確認する方法はありますか? (私はまだインタープリターに参加していません。これはシェル コマンド ライン上にあるため、のような Pythonic 式は使用できませんr'str1'
)
ヒントをありがとう!