如何在python中将AWS CLI命令输出保存到var?

如何在python中将AWS CLI命令输出保存到var?,python,amazon-web-services,amazon-s3,Python,Amazon Web Services,Amazon S3,我正在尝试将AWS CLI命令保存到python变量(列表)中。技巧是下面的代码返回我想要的结果,但不将其保存到变量中并返回空列表 import os bashCommand = 'aws s3api list-buckets --query "Buckets[].Name"' f = [os.system(bashCommand)] print(f) 输出: [ "bucket1", "bucket2", "bucket3" ] [0] 期望输出: [ "bucket1", "bucke

我正在尝试将AWS CLI命令保存到python变量(列表)中。技巧是下面的代码返回我想要的结果,但不将其保存到变量中并返回空列表

import os
bashCommand = 'aws s3api list-buckets --query "Buckets[].Name"'
f = [os.system(bashCommand)]

print(f)
输出:

[
"bucket1",
"bucket2",
"bucket3"
]
[0]
期望输出:

[
"bucket1",
"bucket2",
"bucket3"
]
("bucket1", "bucket2", "bucket3")

如果您正在使用Python,并且希望列出bucket,那么最好使用AWS SDK for Python,即
boto3

import boto3

s3 = boto3.resource('s3')
buckets = [bucket.name for bucket in s3.buckets.all()]
见:


调用AWS CLI(它本身使用boto!)更明智。

如果您使用的是Python,并且希望列出bucket,那么最好使用AWS SDK for Python,即boto3:

import boto3

s3 = boto3.resource('s3')
buckets = [bucket.name for bucket in s3.buckets.all()]
见:


调用AWS CLI(它本身使用boto!)更明智。

我使用此命令创建所有bucket的Python列表:

bucket_list = eval(subprocess.check_output('aws s3api list-buckets --query "Buckets[].Name"').translate(None, '\r\n '))

我使用此命令创建所有bucket的Python列表:

bucket_list = eval(subprocess.check_output('aws s3api list-buckets --query "Buckets[].Name"').translate(None, '\r\n '))

您真的不需要任何花哨的东西,只需导入子流程和json并使用它们:)

这是使用python3.6和Linux进行测试的

output = subprocess.run(["aws", "--region=us-west-2", "s3api", "list-buckets", "--query", "Buckets[].Name"],  stdout=subprocess.PIPE, stderr=subprocess.PIPE)

output_utf8=output.stdout.decode('utf-8')
output_utf8_json = json.loads(output_utf8)
print(output_utf8_json)

for key in output_utf8_json:
     print(key)

您真的不需要任何花哨的东西,只需导入子流程和json并使用它们:)

这是使用python3.6和Linux进行测试的

output = subprocess.run(["aws", "--region=us-west-2", "s3api", "list-buckets", "--query", "Buckets[].Name"],  stdout=subprocess.PIPE, stderr=subprocess.PIPE)

output_utf8=output.stdout.decode('utf-8')
output_utf8_json = json.loads(output_utf8)
print(output_utf8_json)

for key in output_utf8_json:
     print(key)
可能的重复可能的重复