2017-05-29 75 views
-1

我无法解决这个问题。我想在这种情况下模块加载一个对齐器 - “领结”。下面是我的代码片段:从Python加载环境模块

import subprocess 
moduleCmd=['module', 'load','/modules/ogi-mbc/software/bowtie/bowtie2-2.2.4/bowtie2'] 
subprocess.Popen(moduleCmd,shell=True) 

当我运行我的脚本,我收到以下消息:

cmdModule.c(166):ERROR:11: Usage is 'module command [arguments ...] 

Modules Release 3.2.10 2012-12-21 (Copyright GNU GPL v2 1991): 

Usage: module [ switches ] [ subcommand ] [subcommand-args ]` 

程序运行脚本后也不会加载。

测试与子一个简单的命令,如:

testCmd=['ls', '-l'] 
subprocess.Popen(testCmd,shell=True) 

我得到预期的输出。

+0

请使用内置的编辑器工具更新您的答案并正确设置代码格式。另外,请添加关于您希望代码执行的说明以及您所得到的结果。 – Soviut

+1

[为什么当args是序列时subprocess.Popen不工作?](https://stackoverflow.com/questions/2400878/why-subprocess-popen-doesnt-work-when-args-is-sequence)和[其他] [群](https://stackoverflow.com/questions/20140137/passing-variables-to-subprocess-popen)(https://stackoverflow.com/questions/20140137/passing-variables-到子进程popen)SO问题。 – Evert

回答

-1

充分利用[链接](Loading environment modules within a python script

的提示继工作: cmd=os.popen("/usr/bin/modulecmd python load bowtie/2.2.4) exec(cmd))

柜面他人面临着同样的问题,因为没有别的工作。

注意:使用python/2.7.3,其他环境模块也适用于其他工具。