<分区>
我知道这个问题已经被问过多次,我阅读了多个问题试图解决这个问题。然而,这些都没有真正奏效。
我有一个从以下位置下载的 Python 脚本:https://github.com/endrebak/kg
我正在尝试从 python 内部运行以下命令。当我直接从终端运行它时它有效,但当我从 python 内部运行它时抛出错误:
/usr/packages/kg-master/bin/kg --mergecol=0 --noheader --genes --definition --species=hsa <(echo 01200)
使用以下代码:
pathwayID = 01200
cmd="/usr/packages/kg-master/bin/kg --mergecol=0 --noheader --genes --definition --species=hsa <(echo {})".format(pathwayID)
tmp = os.popen(cmd).read()
但是,我收到以下错误:
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `/usr/packages/kg-master/bin/kg --mergecol=0 --noheader --genes --definition --species=hsa <(echo 05200)'
我尝试了多种建议,比如在调用脚本之前添加 python
cmd="python /usr/packages/kg-master/bin/kg --mergecol=0 --noheader --genes --definition --species=hsa <(echo {})".format(pathwayID)
另一个建议是使用:
subprocess.call(['/usr/packages/kg-master/bin/kg', "--mergecol=0","--noheader","--genes","--definition","--species=hsa <(echo '01200')"])
自执行实际脚本以来,此解决方案最接近解决问题。但是,似乎参数没有正确传递,我不知道为什么。
如有任何帮助,我们将不胜感激。