将变量传递给Subprocess.Popen以运行复制命令



我有一个脚本,它运行复制命令来复制文件和目录。从那以后,我将参数存储在变量中

copy_cmd = ['Lang=en_US' , '/bin/cp' , '-r' , '-v']
Option['source']
Option['destination']

我正在传递Option['source']&运行时的选项["destination"]。我无法执行命令并获得

child exception
AttributeError: list object has no attribute rfind

我使用的命令是

copy_pid = subprocess.Popen([copy_cmd , Option['source'] , '/.' , 'Option['destination']'] , stdin = subprocess.PIPE , stdout = subprocess.PIPE)

您需要传递字符串的lis,而copy_cmd已经是一个列表。因此,您需要将其连接起来,而不是作为元素插入。

copy_pid = subprocess.Popen(copy_cmd + [Option['source'] , '/.' , Option['destination']] , stdin = subprocess.PIPE , stdout = subprocess.PIPE)

我也不明白那些Option是干什么的,所以我就把它们原样留下了。

最新更新