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

标签 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

我已经为“-n '$='”尝试了不同的转义组合,但似乎没有任何效果。

最佳答案

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

["sed", "-n", "$=", filename]

关于python - 在 python 中转义子进程调用的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17836931/

相关文章:

bash - 使用 shell 脚本在字符串中查找文件扩展名

bash - sed 替换为 eval

linux - 如何将一堆文件中的每一行 X 行复制到另一个文件?

python - 有什么方法可以将 Scapy Packet 中的字段链接到构建的 str 中的部分吗?

python - Github 的 API key 加密?

python - 使用变量更新列数据

bash - Bash/sed/AWK 中大括号的基本解析

python - @property 装饰器类型提示

python - Pandas 的值(value)标签?

bash - 如何使用 sed 查找和替换前面或后面没有特定字符的项目?