我有一个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')方法是什么?
答案 0 :(得分:3)
使用arrays代替bash
和classic 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