我对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循环。我认为子流程调用在其参数中只能有字符串。。。我希望有人能有时间帮助我或给我一些提示。你知道吗
谢谢你的关注。 诺克图
使用单独进程的唯一原因是如果需要并行处理。如果你真的需要,那么如果你管理很多员工,就用芹菜之类的东西。你知道吗
如果您确实觉得适合自己滚动,则需要将要发送的内容减少为文本表示。我建议使用
json
模块。你知道吗如果不需要单独的进程,只需导入另一个python模块,并直接在代码中访问其功能(应该已经在函数中包装好了)。你知道吗
相关问题 更多 >
编程相关推荐