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

Passing variable between python scripts through shell script

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

**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.

根据这个描述,我认为最直接的方法是直接从 Python 调用 file2.sh。

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

这足以让您动起来吗?这些节点是否足够熟悉,足以让一个节点直接在另一个节点上启动命令?如果没有,您可能需要考虑在 Linux 上查找 "interprocess communication"。如果它们甚至不在同一个 Internet 节点上,您可能需要 REST 命令(post 和获取操作),从那里事情会增加更多的开销。