当我尝试从python运行shell'sed'命令时出现错误

时间:2019-08-26 14:35:17

标签: python shell

我正在尝试使用sed命令从文件中删除换行符。我写了一个sed命令sed -i':a; N; $!ba; s / \ n /,/ g'文件名。 我运行良好,并产生了预期的结果。但是当我尝试使用python运行此命令时。

cmd="""sed -i ':a;N;$!ba;s/\n/,/g' filename"""
os.system(cmd)

它引发异常,说明: sed:-e表达式#1,字符12:未终止的s命令 256

1 个答案:

答案 0 :(得分:2)

这是因为\n换行符,而不是后跟n的文字反斜杠。您可以使用原始字符串来获取后者:

r"This is a backslash and an n: \n"