我对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
然后 slavescript.py 开始使用 N 作为字符串,5 作为整数,第三个参数转换为浮点数。slavescript.py 运行 m 次,其中 m 是数组 x 的大小。
我想一次传递数组 x 的全部内容,即在主脚本中没有 for 循环。我认为 subprocess.call 在它的参数中只能有字符串......我希望有人有时间帮助我或给我一些提示。
感谢您的关注。夜曲