我正在尝试使用Eclipse(Pydev)中的Python将一些压缩文件目录从AWS桶复制到Windows机器。
当我使用以下命令时:
result = subprocess.Popen([r'aws s3 cp s3://myBucket/' + str(someInt) + '/ ' + output_dir + ' --recursive'], stdout=subprocess.PIPE)
我收到错误:
FileNotFoundError: [WinError 2] The system cannot find the file specified
但是,如果我将evaluate参数粘贴到Windows命令行中,它会成功复制文件。我也能够成功使用R执行AWS命令:
result <- shell(paste0("aws ", "s3 ", "cp ", "s3://myBucket/", someInt, "/ ", output_dir, " --recursive"))
所以,我知道文件存在,我可以用其他方法复制它们。我必须在Python命令中遗漏一些简单的语法错误。
更新:这是工作解决方案:
result = subprocess.Popen(['aws', 's3', 'cp', r's3://myBucket' + str(someInt) + '/', output_dir, '--recursive'], stdout=subprocess.PIPE)