首页 > 解决方案 > 无法在 python 中嵌入 awk/bash 命令

问题描述

我正在尝试用“\n”替换新行以制作单行证书文件。我正在使用 awk 和 sed 来执行此操作,这在 linux 机器上运行良好。但是,当我尝试将此代码嵌入 python 时,它会抛出语法错误。

>>> import os
>>> os.system("awk '{printf "%s\\n", $0}\' rsacert.pem > test")
  File "<stdin>", line 1
    os.system("awk '{printf "%s\\n", $0}\' rsacert.pem > test")
                                                          ^

SyntaxError:行继续字符后出现意外字符

标签: pythonbashpython-2.7

解决方案


语法问题从这里开始:

os.system("awk '{printf "%s\\n", $0}\' rsacert.pem > test")
                        ^

这是 python 字符串终止的地方,您在 python 脚本中插入行控制字符,而不是系统命令


推荐阅读