假设有一本名为dict
的字典,其中dict['var1'] = '1'
和dict['var2'] = '2'
......我正在尝试找到一种方法将其添加到子进程调用中以触发制作文件。目前我有:
subprocess.Popen(["make", "make.mk"], **dict)
从命令行中,这有效:
$(make make.mk var1=1 var2=2)
有什么方法可以从子流程中做到这一点吗?
如果我理解正确,我认为这就是您要查找的:
d = { 'var1': '1', 'var2': '2' }
subprocess.Popen(["make", "make.mk"] + [k + "=" + v for k, v in d.items()])
(我的理解是你想执行像make make.mv var1=1 var2=2
这样的命令。