調用AWK我想從Python中調用一個awk命令行腳本:從蟒蛇
os.system('''awk 'BEGIN{FS="\t";OFS="\n"} {a[$1]=a[$1] OFS $2 FS $3 FS $4} END{for (i in a) {print i a[i]}}' 2_lcsorted.txt > 2_locus_2.txt''')
它提供了以下錯誤:
awk: cmd. line:1: BEGIN{FS=" ";OFS="
awk: cmd. line:1: ^unterminated string
awk: cmd. line:1: BEGIN{FS=" ";OFS="
awk: cmd. line:1: ^syntax error
256
當我使用子使用subprocess.call,另一種錯誤彈出:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib64/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
它運行在shell罰款和所有我想要做的是所有步驟結合在一個單一的蟒蛇小號cript,並且由於某些明顯的原因,awk對於某些處理步驟更好。有人可以向我解釋這些錯誤的原因嗎?
它在'''之前用'r'做什麼? (即'r'''awk'BEGIN {FS =「\ t」; OFS =「\ n」} {...'('\ n'被解釋得太早了一步) – 2013-03-07 19:32:43
你究竟在幹什麼試圖完成?我可以看到'awk'運行一個預先寫好的'awk'腳本,但是爲什麼用一個硬編碼的腳本調用awk,當你可以在Python中做同樣的事情時呢? – chepner 2013-03-07 19:38:57
@chepner ..我首選awk,因爲我不知道python是否可以在流輸入上工作..它只是我相信解析在awk中更快 – WYSIWYG 2013-03-08 12:41:00