我有一个使用parser
包设置选项标志(如-d dataset
和-s size
等)的Python脚本,最后将结果写入文件。如何在每次运行中使用不同的选项标志多次(按顺序)运行该命令?
我需要这样的东西:
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")方法是什么?
将
伪/python代码直接转换为bash
,使用数组代替list
s和经典for
循环:
#!/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
,而不是精心挑选的值列表,则可以使用大括号扩展:
for size in {100..300..100}; do
# ...
done
或算术for
循环:
for ((size=100; size<=300; size+=100)); do
# ...
done