【发布时间】:2015-01-24 00:23:50
【问题描述】:
如何转义 Python 字符串中的任何特殊 shell 字符?
以下字符需要转义:
$,!,#,&,",',(,),|,<,>,`,\,;
例如说我有这个字符串:
str="The$!cat#&ran\"'up()a|<>tree`\;"
TIA
【问题讨论】:
-
你想做什么?
-
这个字符串是用作字符串(这不是问题),还是传递给某个 shell 命令?
-
题外话:请不要命名变量
str。它将隐藏内置的str类。 -
它传递给一个shell脚本,我这里只是用str,实际脚本有不同的名字。
-
编辑队列已满?不知道他们是否都在试图移动“TIA”。此外,应该接受 shlex 的答案。即使 OP 在 2015 年使用 Python2,现在也不应该在 2021 年使用。