使用不同的参数值多次运行python脚本的最佳方法

时间:2016-07-06 08:33:38

标签: python bash

我有一个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

我担心这不是最好的方法。编码和计算时间都很明智。 您能否提出任何替代方法来插入参数并更有效地运行程序?

提前致谢。

2 个答案:

答案 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

等主题