我有一个python脚本,它输入~20个参数。 我想多次运行此脚本,每次都使用不同的参数值。 目前我使用如下的基本bash脚本(每个参数有更多参数和更多不同的值)
for com_adv_par18 in 0.288 0.289
do
for com_adv_par19 in 0.288 0.289
do
for com_adv_par20 in 0.288 0.289
do
python alpha2.py $com_adv_par18 $com_adv_par19 $com_adv_par20
done
done
done
我担心这不是最好的方法。编码和计算时间都很明智。 您能否提出任何替代方法来插入参数并更有效地运行程序?
提前致谢。
答案 0 :(得分:1)
你的问题的答案取决于很多事情 - 一个重要的因素是每次执行所花费的时间。
如果您可以重构alpha2.py
脚本以便import
脚本,那么您可以在这些行中使用python包装器脚本:
from alpha2 import do_something
from itertools import product
# define argument lists here, e.g. list1 = [0.288, 0.289], etc.
for args in product(list1, list2, list3):
do_something(*args)
每次执行仍然是顺序的,但这种方法的优点是不会为每个参数组合加载新的python实例。
答案 1 :(得分:0)
为什么不使用另一个python脚本来处理args并根据需要调用初始脚本? 请参阅Run a python script from another python script, passing in args
等主题