麻烦将参数传递给os.system()

时间:2017-08-24 06:34:23

标签: python os.system

我想运行一个python脚本5次。每次运行的输出都是图像,我希望最后保存5张图像。为此,我使用os.system()命令,最终得到以下错误:

click

这是我的代码:

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 。每次调用脚本运行后,增量都会发生5次。

感谢任何指导。

3 个答案:

答案 0 :(得分:1)

你应该用一个字符串来调用它,如下所示:

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

os.system documentation表示它只是将一个字符串作为参数,因此您必须先使用该命令创建该完整字符串,然后再将其传递给该函数。

答案 1 :(得分:0)

将字符串格式化为您在cmd提示符中键入的命令。 例如: 如果test.py是一个采用输入文件file.csv的脚本,则代码将为

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

答案 2 :(得分:0)

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