如何使用Python在for循环中使用str数组创建命令

时间:2017-12-08 07:09:48

标签: python

我想做这样的事情

CMD_LIST = ['ls -l', 'echo Mama Mia', 'echo bla bla bla']
for i in range(len(CMD_LIST)):
    subprocess.call(CMD_LIST[1])

如何在for循环中执行命令列表?

3 个答案:

答案 0 :(得分:1)

在子流程中,您必须将命令作为列表提供,第一项是命令,后面的每一项都是参数。

在您的情况下,您的代码应如下所示:

CMD_LIST = [['ls', '-l'], ['echo', 'Mama Mia'], ['echo', 'bla bla bla']]
for cmd_arg in CMD_LIST:
    subprocess.call(cmd_arg)

请参阅此处的子流程文档:https://docs.python.org/2/library/subprocess.html

答案 1 :(得分:0)

CMD_LIST = [' ls -l',' echo Mama Mia',' echo bla bla bla']

for i in range(len(CMD_LIST)):
    subprocess.call(CMD_LIST[i])

你的意思是?

答案 2 :(得分:0)

Python允许您直接循环遍历诸如命令列表之类的迭代

for cmd in CMD_LIST:
    subprocess.call(cmd)

这更具可读性,避免了索引循环中的错误。