将数组传递给从属python脚本

2024-04-27 04:43:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python很陌生。
我学会了如何将参数作为字符串或浮点数传递给从属脚本。
作为一个实例,这里是主脚本:

#main script (mainscript.py)
import subprocess, sys
import numpy as np

x = np.linspace(0.5,3.2,10)

for i in range(x.size) :
    subprocess.call([sys.executable,'slavescript.py',
                     '%s' %sys.argv[1], '%s' %sys.argv[2], '%s' %xpnt[i]])

这里是奴隶脚本:

#slave script (slavescript.py)

import sys

sys.argv[1] = str(sys.argv[1])
sys.argv[2] = int(sys.argv[2])
sys.argv[3] = float(sys.argv[3])

...
...

现在,如果在python中运行以下命令:

run mainscript.py N 5

那么斯拉夫脚本.py开始使用N作为字符串,5作为整数,第三个参数转换为浮点。斯拉夫脚本.py是运行m次,其中m是数组x的大小

我想一次传递数组x的全部内容,即在主脚本中不使用for循环。我认为子流程调用在其参数中只能有字符串。。。我希望有人能有时间帮助我或给我一些提示。你知道吗

谢谢你的关注。 诺克图


Tags: 字符串pyimport脚本for参数npsys
1条回答
网友
1楼 · 发布于 2024-04-27 04:43:25

使用单独进程的唯一原因是如果需要并行处理。如果你真的需要,那么如果你管理很多员工,就用芹菜之类的东西。你知道吗

如果您确实觉得适合自己滚动,则需要将要发送的内容减少为文本表示。我建议使用json模块。你知道吗

如果不需要单独的进程,只需导入另一个python模块,并直接在代码中访问其功能(应该已经在函数中包装好了)。你知道吗

相关问题 更多 >