在python中转义子进程调用的正确方法

mar*_*rkz 5 python sed

我在正确转义子进程调用时遇到问题

我想调用sed -n "$=" /path/to/file来计算文件中的行数,但是没有从python中这样做.我的代码如下:

import subprocess

filename = "/path/to/file"

cmd = subprocess.Popen(["sed", "-n '$='", filename], stdout=subprocess.PIPE)
cmd_out, cmd_err = cmd.communicate()
num_lines = int(cmd_out.strip())

print num_lines
Run Code Online (Sandbox Code Playgroud)

我尝试了"-n'$ ='"的不同转义组合,但似乎没有任何效果.

Ign*_*ams 4

-n$=是两个独立的参数。

["sed", "-n", "$=", filename]
Run Code Online (Sandbox Code Playgroud)