简体   繁体   English

如何使用Shell脚本来迭代可以在DoublePendulum2.py之类的python函数中使用的参数?

[英]How can I use shell scripting to iterate an argument that I can use in a python function like DoublePendulum2.py?

Basically I want shell scripting to run something like this: 基本上,我希望shell脚本运行如下所示的内容:

time python DoublePendulum.py 1 1 1
time python DoublePendulum.py 1 2 1
time python DoublePendulum.py 1 4 1
time python DoublePendulum.py 1 8 1
time python DoublePendulum.py 1 16 1

(the program produces specially named png files as output) (该程序会生成特别命名的png文件作为输出)

Assuming that you'll want to set up some terminating condition for your loop: 假设您要为循环设置一些终止条件:

increment=1
terminating=2056

while [[ "$increment" -lt "$terminating" ]]
do
    time python DoublePendulum.py 1 "$increment" 1
    increment=$((increment * 2))
done

Explanation: 说明:

  • increment : The variable that increments itself by multiplying by 2 each time increment :每次通过乘以2来递增自身的变量
  • terminating : Variable to keep track of when to terminate your loop. terminating :用于跟踪何时终止循环的变量。 (Alternatively, you can do it for how many times you want the loop to run by implementing a separate counter that increments by 1 each time. (或者,您可以通过实现一个单独的计数器来使循环运行多少次,该计数器每次递增1。
  • while [[ "$increment" -lt "$terminating" ]] : Run while terminating condition hasn't been reached. while [[ "$increment" -lt "$terminating" ]] :在未达到终止条件时运行。
  • time python DoublePendulum.py 1 "$increment" 1 : Substitute your increment in. time python DoublePendulum.py 1 "$increment" 1 :用您的增量代替。
  • increment=$((increment * 2)) : Increase your increment. increment=$((increment * 2)) :增加增量

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM