我在尝试将列表传递到子进程调用命令时遇到问题。我试图调用windows robocopy函数,传递它应该过滤的文件类型列表。
filter_list = ['*.txt', '*.dat']
call(["robocopy", src, dst, filter_list, "/e"])
因此传递列表本身不起作用robocopy的输出显示它正在尝试查找文件类型“ .txt .dat”,就像整个列表是单个文件类型一样。 / p>
然后我尝试了以下
call(["robocopy", src, dst, ','.join(filter_list), "/e"])
然而,这与我的第一次尝试产生了相同的输出。有谁知道如何传递列表并正确分割?任何帮助都很受欢迎!
答案 0 :(得分:4)
您应该实际传递列表中的参数:
args = ["robocopy", src, dst]
args.extend(filter_list)
args.append("/e")
call(args)