You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python3中转义反引号?适配Jupyter Notebook Shell命令场景

Python中转义反引号并传入Shell命令

当你需要将含反引号的Python字符串传入Jupyter Notebook的Shell命令时,直接用re.sub("", "`", s)会得到带双反斜杠的结果(比如'my \ string'),这是因为Python字符串里的反斜杠本身需要转义,同时正则表达式的替换规则也有转义要求。以下是两种正确的处理方式:

方法一:使用字符串replace方法(推荐,无需正则)

直接对字符串做简单替换,把每个替换为\`(Python里用两个反斜杠表示一个实际的反斜杠):

s = "my ` string"
escaped_s = s.replace("`", "\\`")
print(escaped_s)  # 输出:my \` string

方法二:使用re.sub正则替换

如果一定要用正则,需要注意转义规则:

  • 方式1:使用原始字符串(前缀r),避免Python转义反斜杠:
import re
s = "my ` string"
escaped_s = re.sub("`", r"\`", s)
  • 方式2:对反斜杠做双重转义,让Python解析后得到单个反斜杠:
import re
s = "my ` string"
escaped_s = re.sub("`", "\\\\`", s)

处理完成后,在Jupyter中执行Shell命令时,传入转义后的字符串即可:

! ./script.sh "$escaped_s"

内容的提问来源于stack exchange,提问作者Gabriel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 19:45:34