首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从本地python脚本运行AWS cli命令?

从本地python脚本运行AWS cli命令?
EN

Stack Overflow用户
提问于 2016-10-26 01:16:35
回答 2查看 22.5K关注 0票数 4

我正在尝试运行这个aws s3 ls命令:

代码语言:javascript
复制
aws s3 ls s3://path/to/my/bucket/12434 --recursive --human-readable --summarize

使用这条python:

代码语言:javascript
复制
command = 'aws s3 ls s3://path/to/my/bucket/12434 --recursive --human-readable --summarize'
s3_folder_data  = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True)
print s3_folder_data

但它失败了,错误如下:

代码语言:javascript
复制
subprocess.CalledProcessError: Command 'aws s3 ls s3://path/to/my/bucket/12434 --recursive --human-readable --summarize' returned non-zero exit status 1

当我运行该命令时,它本身就会工作。python脚本正由同一台计算机上的同一用户调用。怎么回事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-26 02:34:19

正如其他人所建议的,使用Boto3 S3库来获取您想要的东西。但如果您坚持使用subprocess,请尝试:

代码语言:javascript
复制
subprocess.check_output(['aws', 's3', 'ls', 's3://path/to/my/bucket/12434', '--recursive', '--human-readable', '--summarize'])

代码语言:javascript
复制
subprocess.call(['aws', 's3', 'ls', 's3://path/to/my/bucket/12434', '--recursive', '--human-readable', '--summarize'])

并在此基础上继续发展。

票数 5
EN

Stack Overflow用户

发布于 2016-10-26 07:56:56

Python3.5中的新特性,你也可以使用subprocess.run()

代码语言:javascript
复制
subprocess.run(['aws', 's3', 'ls', 's3://path/to/my/bucket/12434', '--recursive', '--human-readable', '--summarize'])
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40245914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档