使用不同的选项标志多次执行Python脚本

时间:2017-10-31 11:17:09

标签: bash python-2.7

我有一个Python脚本使用parser包来设置选项标志(如-d dataset-s size等,最后将结果写入文件。我怎样才能运行多次(顺序)命令,每次运行使用不同的选项标志?

我需要这样的东西:

datasets = [a,b,c]
sizes = [100,200,300]

for dataset in dataset:                           #specify parameters
    for size in sizes:                            #specify more parameters
         python script.py -d dataset -s size      #run script

最好的(甚至是' a')方法是什么?

1 个答案:

答案 0 :(得分:3)

使用arrays代替bashclassic for循环将伪/ python代码直接翻译为list

#!/bin/bash

datasets=('a' 'b' 'c')
sizes=(100 200 300)

for dataset in "${datasets[@]}"; do
    for size in "${sizes[@]}"; do
        python script.py -d "$dataset" -s "$size"
    done
done

如果sizes更像range,而不是精选值列表,则可以使用brace expansion

for size in {100..300..100}; do
    # ...
done

arithmetic for循环:

for ((size=100; size<=300; size+=100)); do
    # ...
done