我想做这样的事情
CMD_LIST = ['ls -l', 'echo Mama Mia', 'echo bla bla bla']
for i in range(len(CMD_LIST)):
subprocess.call(CMD_LIST[1])
如何在for循环中执行命令列表?
答案 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)
这更具可读性,避免了索引循环中的错误。