我知道这个问题已被多次询问,我读了多个试图解决这个问题的问题。但是,这些实际上都没有工作。在Python中运行python脚本
我有一个Python脚本,我从以下网站下载:https://github.com/endrebak/kg
我试图从内部蟒蛇运行下面的命令。它的工作原理,当我直接从终端上运行,但抛出一个错误,当我从里面蟒蛇运行:
/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')"])
该解决方案是最接近由于执行脚本实际问题的解决。但是,似乎参数没有正确传递,我不知道为什么。
任何帮助,将不胜感激。
这实际上解决了这个问题。谢谢。 – ifreak