首页 > 解决方案 > 在 Python 中循环运行命令行参数

问题描述

我有一个从模块调用函数并使用命令行参数(sys.argv)的程序。我想用这些参数的不同值集多次调用这个函数。我基本上是在尝试使用循环来运行它,但它不起作用:

test_args = [[1,2,3],[4,5,6],[7,8,9]]
i = 0
while i < len(test)args)+1:
    sys.argv = test_args[i]
    module.function()
    i=i+1

我尝试了 for 循环甚至 while 循环,但迭代在第一次迭代后停止。第一次迭代虽然成功运行,但没有进行下一次迭代,即 i = i+1

有没有办法循环运行它?

标签: pythonfunctionloopscommand-line-arguments

解决方案


我希望这是你想要达到的目标。

因为你没有function在模块中提到现在。我创建了 sum 函数作为示例。

这是代码

import sys #if you directly take input from system arguments
def addall(a):
    return sum(a)
test_args = [[1,2,3],[4,5,6],[7,8,9]]
for i in test_args:
    print (i, addall(i))

输出:

[1, 2, 3] 6
[4, 5, 6] 15
[7, 8, 9] 24

推荐阅读