【发布时间】:2020-07-21 11:29:22
【问题描述】:
对不起,如果标题有点复杂......一个例子会更好地说明我的意思:
我有一个名为 foo 的文本文件,其中包含字符串 'bar'。
在 Python 中,我有一本字典:
d = {"key": "item['id']"}
我想用字典的 json 转储替换文件中的字符串 bar。命令:
import subprocess
subprocess.call("sed 's#bar#%s#g' foo > foo2" % json.dumps(d),shell=True)
当我 cat 文件 foo2 时,结果是:
> cat foo2
{"key": "item[id]"}
问题是:id 周围的单引号丢失了。我怎样才能避免这种情况?
【问题讨论】:
-
为什么还要尝试使用 sed?全部在 python 中完成。
-
好吧...也许是因为我认为使用单个 sed 命令会更短。你考虑过 re.sub 吗?
-
能否分享
foo的输入记录 -
@DigvijayS foo = "bar"
标签: python json sed escaping single-quotes