无法将参数传递给 os.system()
Trouble passing arguments into os.system()
我想 运行 一个 python 脚本 5 次。每个 运行 的输出是一张图像,我想在最后保存 5 张图像。为此,我使用 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,每次在调用脚本 运行s 之后发生一次。
感谢任何指导。
您应该只用一个字符串调用它,如下所示:
os.system('python main.py input laska.png output laska_save{}.png'.format(i))
os.system
documentation 说它只接受一个字符串作为参数,所以你必须在将它传递给函数之前用命令创建完整的字符串。
只需将字符串格式化为您在 cmd 提示符下键入的命令。
例如:
如果 test.py
是一个接受输入文件 file.csv
的脚本,那么代码将是
os.system("python {0} {1}".format(test_filepath,file.csv_filepath))
如果您的 main.py
使用两个参数输入文件 (laska.png
) 和输出文件的名称,那么您的 while 循环将包含:-
os.system('python main.py laska.png laska_save{}.png'.format(i))
我想 运行 一个 python 脚本 5 次。每个 运行 的输出是一张图像,我想在最后保存 5 张图像。为此,我使用 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,每次在调用脚本 运行s 之后发生一次。
感谢任何指导。
您应该只用一个字符串调用它,如下所示:
os.system('python main.py input laska.png output laska_save{}.png'.format(i))
os.system
documentation 说它只接受一个字符串作为参数,所以你必须在将它传递给函数之前用命令创建完整的字符串。
只需将字符串格式化为您在 cmd 提示符下键入的命令。
例如:
如果 test.py
是一个接受输入文件 file.csv
的脚本,那么代码将是
os.system("python {0} {1}".format(test_filepath,file.csv_filepath))
如果您的 main.py
使用两个参数输入文件 (laska.png
) 和输出文件的名称,那么您的 while 循环将包含:-
os.system('python main.py laska.png laska_save{}.png'.format(i))