2017-08-24 140 views
0

我想运行一个python脚本5次。每次运行的输出都是一张图像,我想在最后保存5张图像。要做到这一点,我现在用的是使用os.system()命令,我结束了以下错误:麻烦传递参数到os.system()

TypeError: system() takes at most 1 argument (3 given) 

这里是我的代码:

import os 
i = 1 

    while i < 6: 
     run = os.system ('python main.py', 'input laska.png', 'output laska_save' + str(i) + '.png') 
     i = i + 1 

不知道是什么问题就在这里可能是。我基本上希望输出参数是laska_save1, laske_save2 ... laska_save5。增量发生5次,每次在被调用的脚本运行之后。

任何指导表示赞赏。它传递给函数之前

os.system('python main.py input laska.png output laska_save{}.png'.format(i)) 

os.systemdocumentation说,它只是需要一个字符串作为参数,所以你必须创建一个完整的字符串命令:

+0

你如何在main.py中输入?你知道你可以在os.system()中不使用'input'和'output'直接输入参数吗? –

回答

1

您应该只是一个字符串如下叫它。

0

只是将该字符串格式化为在cmd提示符中键入的命令。 例如: 如果test.py是一个脚本,需要输入文件file.csv那么代码将

os.system("python {0} {1}".format(test_filepath,file.csv_filepath)) 
0

如果您main.py带有两个参数输入文件(laska.png)和输出文件的名称,然后你的while循环包含: -
os.system('python main.py laska.png laska_save{}.png'.format(i))