subprocess.popen在后台调用进程。
我正在调用php进程,有时候是python进程,每次参数可能都不同。我想编写一个函数,然后我会传递参数列表。该函数将根据参数执行进程。
所以我正在做的是,写在下面,实际上这是不好的方式,我不想写这么多行。
def RunBackGroundProcess(args):
# args is an array of params
# index 0 - command - php/python or anyother
# index 1 - filename - that you want to run. Specify fullpath if required
# index 2 - param_1
# index 3 - param_2
# index N - param_N
if(len(args) == 2):
subprocess.Popen([args[0], args[1], args[2]])
if(len(args) == 3):
subprocess.Popen([args[0], args[1], args[2], args[3]])
if(len(args) == 4):
subprocess.Popen([args[0], args[1], args[2], args[3], args[4]])
如果我有10个参数或15个参数怎么办?这是不好的方式,对吗? 帮我用更小的行编写这段代码。
答案 0 :(得分:1)
你将args作为列表传递,所以虽然subprocess.Popen()不需要检查参数长度,你可以直接传递给子进程
def RunBackGroundProcess(args):
subprocess.Popen(args)
这将有效