Python doit动态动作
我正在使用并希望动态生成操作。以下代码创建了我希望doit执行的命令列表:Python doit动态动作,python,doit,Python,Doit,我正在使用并希望动态生成操作。以下代码创建了我希望doit执行的命令列表: dirs = ['a','b','c'] def task_build(): def create_cmd_string(directories=dirs): cmds = [] for dir in directories: cmds.append(f"rsync -a {dir} ../package") retu
dirs = ['a','b','c']
def task_build():
def create_cmd_string(directories=dirs):
cmds = []
for dir in directories:
cmds.append(f"rsync -a {dir} ../package")
return cmds
return {
'actions': [
"mkdir -p ../package",
create_cmd_string,
],
'verbosity': 2,
}
唯一的问题是doit只运行列表中的第一个元素:
"rsync -a a ../package"
我希望它能做到以下几点:
"rsync -a a ../package"
"rsync -a b ../package"
"rsync -a c ../package"
我尝试过使用和传递不同的数据类型,但这两种方法都不起作用。我想下一个解决方案是创建,但感觉我遗漏了什么。您的问题似乎是在另一个列表中添加了一个列表。 尝试:
'actions': ["mkdir -p ../package"] + create_cmd_string,