【发布时间】:2020-11-11 17:30:42
【问题描述】:
大家好,
我有三个命令用于复制/粘贴具有相似路径的文件夹。我使用此代码:
from subprocess import Popen, PIPE
cmd_list = [
'cp -r /opt/some_folder_1/ /home/user_name/',
'cp -r /var/some_folder_2/ /home/user_name/',
'cp -r /etc/some_folder_3/ /home/user_name/',
]
copy_paste = Popen(
cmd_list,
shell = True,
stdin = PIPE,
stdout = PIPE,
stderr = PIPE
)
stdout, stderr = make_copy.communicate()
但是对于复制/粘贴三个文件夹,我应该运行三次代码。 你能帮我对付这些人吗?
谢谢!
【问题讨论】:
-
您能更具体地说明您想要做什么吗?复制三个文件不需要运行三倍的代码,因为您可以通过将 cmd_list 传递给单个 Popen 来执行此操作。
-
@Nastor “通过将 cmd_list 传递给它的单个 Popen”已经正是他正在做的事情。
-
嗨,@Nastor!我想尝试在我的代码中使用子进程,我想知道是否可以通过命令列表使用子进程
标签: python python-3.x subprocess popen