我正在尝试将字符串作为输入参数传递给 Python 程序,从命令行 ie$python parser_prog.py <pos1> <pos2> --opt1 --opt2
并使用 argparse 解释这些。当然,如果包含任何元字符,这些元字符首先由 shell 解释,因此需要引用。
这似乎可行,字符串按字面意思传递,保留 \*?! 人物:
$ python parser_prog.py 'str\1*?' 'str2!'
但是,当我尝试通过“-”(连字符)字符时,我似乎无法掩盖它。它被解释为无效选项。
$ python parser_prog.py 'str\1*?' '-str2!'
我试过单引号和双引号,有没有办法确保 Python 将其解释为原始字符串?(我还没有在解释器中,这是在shell命令行上,所以我不能使用pythonic表达式,例如r'str1'
)
感谢您的任何提示!