从python gen内部调用awk

2024-09-30 20:31:44 发布

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

我要从python运行awk。当我从终端运行脚本时,给出所需的输出,但在 从python内部执行。在

runAwk = '''awk '{printf $1}{for(i=2;i<=NF;i++)printf "|"$i}{printf "\n"}' final.txt'''

os.system(runAwk)

给出错误:

awk: line 1: runaway string constant " ...

当我在网上冲浪时,我发现awk不能和os模块一起使用,而且内容也不多。我不知道如何继续前进。在


Tags: txt脚本终端forstringos错误line
1条回答
网友
1楼 · 发布于 2024-09-30 20:31:44

Python将runAwk字符串中的\n解释为文字换行符,而不是作为两个字符\n传递给{}。如果使用raw string,请在开头的三个引号前面加上r

runAwk = r'''awk '{printf $1}{for(i=2;i<=NF;i++)printf "|"$i}{printf "\n"}' final.txt'''

。。。那么Python不会将\n视为“newline”的意思,awk将看到您想要的字符串。在

相关问题 更多 >