gpt4 book ai didi

python - 如何通过python代码执行awk命令

转载 作者:IT王子 更新时间:2023-10-29 00:53:23 36 4
gpt4 key购买 nike

我有一组要处理的数据。我试图运行一个 python 代码来在 linux 中执行“awk”命令。 hoverver 无论我如何尝试不同的参数或函数,它都没有用。

我尝试了两种不同的方法,但都没有用。不知道为什么

1)

#!/usr/bin/env python
import subprocess as sp
cmd = "awk, '{print $2 '\t' $4 '\t' $5 '\t' $6}', B3LYPD.txt"
args = cmd.split(',')
p = sp.Popen(args, stdin = sp.PIPE, stdout = sp.PIPE, stderr = sp.PIPE )

2)

#!/usr/bin/env python
import subprocess as sp
cmd = "awk, '{print $2 '\t' $4 '\t' $5 '\t' $6}'"
args = cmd.split(',')
p = sp.Popen(args, stdin = sp.PIPE, stdout = sp.PIPE, stderr = sp.PIPE )
c = p.communicate('B3LYPD.txt')
print c

最佳答案

虽然我同意这实际上最好在 Python 中完成,而不是调用 awk。如果您确实需要这样做,那么实际的错误在于您的 awk。

#!/usr/bin/env python
import subprocess as sp
args = ["awk", r'{OFS="\t"; print $2,$4,$5,$6}', "B3LYPD.txt"]
p = sp.Popen(args, stdin = sp.PIPE, stdout = sp.PIPE, stderr = sp.PIPE )
print(p.stdout.readline()) # will give you the first line of the awk output

编辑:修复了遗漏的引号。

关于python - 如何通过python代码执行awk命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18557656/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com