Skip to main content
 首页 » 编程设计

python之当作为命令行参数提供给 python 脚本时,正则表达式被剥离 '\'

2025年05月04日38rubylouvre

我正在编写需要在命令行上指定正则表达式的脚本。所以程序应该能够在命令行中使用 \d+ ,例如:

python3 my_script.py \d+ 

假设 my_script.py 根据命令行给出的正则表达式搜索一些文件。

但是当我这样做时,领先的 \ 被剥离。所以打印 sys.argv 有 ['my_script.py', 'd+']。

如何让命令行中指定的正则表达式按原样使用?请注意正则表达式不在引号中。有可能吗?

(我正在使用 getopt 模块 来处理我的输入参数)

请您参考如下方法:

您可能应该使用两个反斜杠:

python3 my_script.py \\d+ 

或

python3 my_script.py '\d+' 

要正确读取字符串文字中的反斜杠,需要对其进行转义或引用。