Python - 命令行参数中的尖括号

Posted

技术标签:

【中文标题】Python - 命令行参数中的尖括号【英文标题】:Python - angle brackets in command line arguments 【发布时间】:2021-05-29 23:19:06 【问题描述】:

如何将尖括号 <> 作为命令行参数传递给我的 Python 程序?

例如:

python main.py <div>HelloWorld<div>

目前它给了我一个错误,因为终端将 > 解释为重定向。

我知道用引号括起来会起作用 - 例如:

python main.py "<div>HelloWorld<div>"

有没有办法在没有引号的情况下完成这项工作?

【问题讨论】:

引用是完成此任务的正确方法。为什么不这样做? 为什么你认为"<div>HelloWorld<div>" 有问题?你测试了吗? 可以使用斜线,但你为什么想要呢?引用非常好且可读。 问题在于<>shell 元字符,并且会在您的程序运行之前 被解释——所以它们必须逃脱。在main.py 中您无能为力解决此问题。 没有办法在 main.py 中解决这个问题,因为问题甚至在它到达 main.py 之前就发生了。正如 costaparas 所说,这是由 shell 处理的。 【参考方案1】:

转义特殊字符:

python main.py \<div\>HelloWorld\<div\>

其他人建议将参数用引号括起来,这样更易​​读且更简单恕我直言。

【讨论】:

以上是关于Python - 命令行参数中的尖括号的主要内容,如果未能解决你的问题,请参考以下文章

命令行参数是啥?

在 bash for 循环中使用命令行参数范围打印包含参数的括号

python中命令行参数

python中的argparse包——用于解析命令行参数

C#中的命令行参数

27.Go 解析命令行参数