當我在bash中運行腳本時,出現錯誤:sh: 2: Syntax error: "|" unexpected
。我不知道爲什麼,我想在這裏使用管道,並且使用該命令的perl腳本能夠工作,但我需要Python。輸入(文本文件)的傳遞給os.system()的shell命令失敗:sh:2:語法錯誤:「|」意外的
例子:
Kribbella flavida
Saccharopolyspora erythraea
Nocardiopsis dassonvillei
Roseiflexus sp.
腳本:
#!/usr/bin/python
import sys import os
input_ = open(sys.argv[1],'r') output_file = sys.argv[2]
#stopwords = open(sys.argv[3],'r')
names_board = []
for name in input_:
names_board.append(name.rstrip())
print(name) for row in names_board:
print(row)
os.system("esearch -db pubmed -query %s | efetch -format xml | xtract -pattern PubmedArticle -element AbstractText >> %s" % (name,
output_file))
如果用'print'替換'os.system',會得到什麼?這看起來合理嗎? –
你在使用什麼操作系統?你讀過「man esearch」,「man efetch」和「man xtract」嗎? –
這個ubuntu,但這個程序是ncbi的eutilies。 – MTG