5
私は対処したいデータセットを持っていました。私はLinuxで "awk"コマンドを実行するためのPythonコードを実行しようとしていました。私がどのように異なる議論や機能を試しても、それはうまくいかなかった。Pythonコードでawkコマンドを実行する方法
私は試みた2つの異なる方法がありますが、それらはすべて機能しませんでした。私は、これはかなりのawkを起動するよりも、実際にPythonで行わ最善であることに同意しますが、私はなぜ
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
'str.split'ではなく' shlex.split'を使用してください。 –
既にPythonでプログラミングしている場合は、awkを呼び出す必要がありますか? Pythonはおそらく 'awk'から必要なものをすべてうまく処理できます。 –
'c ="これを使うのではなく、文字列のリストが必要ならば、それは他の "; args = cmd.split( '、') 'ならば、単にargs = [" this "、" that "、" other "]'を使ってsplitコマンドをスキップすることができます。 –