我有一组需要处理的数据。我尝试运行一个Python代码来在Linux中执行“awk”命令,但无论我尝试不同的参数或函数,都无法成功。
有两种不同的方法我尝试过,但它们都没有起作用。我不知道为什么。
1)
有两种不同的方法我尝试过,但它们都没有起作用。我不知道为什么。
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
shlex.split
而不是str.split
。 - Ashwini Chaudharyawk
吗?Python很可能可以很好地完成你需要从awk
中实现的所有功能。 - Lev Levitskyc = "this, that, other" ; args = cmd.split(',')
,您可以直接使用args = ["this", "that", "other"]
并跳过分割命令。 - Mark R. Wilkinssplit()
函数来挑选列。 - Mark R. Wilkins