无法在python中嵌入awk/bash命令

2024-10-04 09:22:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用“\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:行连续字符后出现意外字符


Tags: 文件代码test机器oslinux字符system
2条回答

您的命令字符串使用",但它也包含",因此您需要转义它们

"awk '{printf \"%s\\n\", $0}\' rsacert.pem > test"

语法问题从这里开始:

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

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

相关问题 更多 >