【发布时间】:2019-10-20 05:51:32
【问题描述】:
我正在尝试从文件中删除一行并更新文件以反映这一点。我在 python 程序中运行 bash 命令。行 delete 在终端上有效,但文件未更新。
subprocess.call("sed -e $d {}".format(self._path).split())
如何更新文件以不再有此行。
【问题讨论】:
我正在尝试从文件中删除一行并更新文件以反映这一点。我在 python 程序中运行 bash 命令。行 delete 在终端上有效,但文件未更新。
subprocess.call("sed -e $d {}".format(self._path).split())
如何更新文件以不再有此行。
【问题讨论】:
应在 sed 命令中添加 -i 标志以就地编辑文件。
在 BSD 的 sed 上:
subprocess.call("sed -i '' -e $d {}".format(self._path).split())
在 GNU 的 sed 上:
subprocess.call("sed -i -e $d {}".format(self._path).split())
【讨论】:
-i ''(取自stackoverflow.com/a/17535174/520275)