Python 3.x Python子流程,如何传递列表?

Python 3.x Python子流程,如何传递列表?,python-3.x,Python 3.x,我试图在子流程中运行cmd,并向其传递参数列表,其中一个参数是包含其他参数的列表。如何将其传递给子流程 例如: my_list = ['arg1', 'arg2', 'arg3'] subprocess.run(["./some.sh", "--flag", "some_arg", "--another_flag", my_list ]) 这可能吗?使用*打开列表: subprocess.run(["./some.sh", "--flag", "some_arg", "--another_fl

我试图在子流程中运行cmd,并向其传递参数列表,其中一个参数是包含其他参数的列表。如何将其传递给子流程

例如:

my_list = ['arg1', 'arg2', 'arg3']
subprocess.run(["./some.sh", "--flag", "some_arg", "--another_flag", my_list ])

这可能吗?

使用
*
打开列表:

subprocess.run(["./some.sh", "--flag", "some_arg", "--another_flag", *my_list])
或者使用
+
将两个列表连接在一起:

subprocess.run(["./some.sh", "--flag", "some_arg", "--another_flag"] + my_list)
+
仅对列表有效(例如,不是生成器)

官方教程中记录了
*
的“解包”行为,尽管它只涉及在函数调用中使用它,而不是构造新列表。不管怎样,它都能起作用