通过shell脚本在python脚本之间传递变量

时间:2016-02-02 23:59:57

标签: shell cluster-computing

我无法想办法做我想做的事情并希望得到一些建议。我正在处理计算集群上的数据,并希望在单独的计算节点上处理单个文件。我现在的工作流程如下:

**file1.py**

Get files, parameters, other info from user

Then Call: file2.sh

**file2.sh**

Submit file3.py to computing node

**file3.py**

Process input file with parameters given

我要做的是调用file2.sh并一次传递一个输入数据文件,这样就有多个file3.py运行实例,每个文件一个。有没有办法做到这一点?

我认为问题的根源在于,如果我要遍历file1.py中的输入文件列表,我就不知道如何将该信息传递给file2.sh然后传递给file3的.py。

1 个答案:

答案 0 :(得分:1)

从这个描述中,我会说直接的方法是直接从Python调用file2.sh。

status, result = commands.getstatusoutput("file2.sh" + arg_string)

这足以让你感动吗?节点是否足够熟悉,以便直接在另一个节点上启动命令?如果没有,您可能需要考虑在Linux上查找“进程间通信”。如果它们甚至不在同一个Internet节点上,那么您可能需要REST命令(post和get操作),从而增加了开销。