J. *_*Doe 7 python python-3.x boto3
我可以看到:
s = boto3.client('s3')
print(type(s))
Run Code Online (Sandbox Code Playgroud)
印刷
<class 'botocore.client.S3'>
Run Code Online (Sandbox Code Playgroud)
但如果我尝试
print(botocore.client.S3)
Run Code Online (Sandbox Code Playgroud)
我得到
AttributeError: module 'botocore.client' has no attribute 'S3'
Run Code Online (Sandbox Code Playgroud)
怎么来的?
旁注:我的最终目标是返回一个模拟 botocore.client.S3 必须提供的内容,但返回的技术方面已经暗示了我一段时间,从知道这一点,我可能会知道如何回答我的终极问题。
pac*_*992 15
经过一番尝试,找到了可以使用的实例类型:
>>> import boto3
>>> import botocore
>>> isinstance(boto3.client('s3'), botocore.client.BaseClient)
True
Run Code Online (Sandbox Code Playgroud)
实际上并没有像这样打印类对象的概念(它们没有repr或str方法)。如果您想访问类本身并查看所有方法和参数,如果您不知道 botocore 和 boto3 安装在哪里,您可以这样做(使用上面的示例):
>> import boto3
>> import botocore
>> s = boto3.client('s3')
>> print(type(s))
<class 'botocore.client.S3'>
>> print(botcore.client)
<module 'botocore.client' from '/usr/local/lib/python3.7/site-packages/botocore/client.py'>
Run Code Online (Sandbox Code Playgroud)
现在,在您最喜欢的编辑器中打开模块“/usr/local/lib/python3.7/site-packages/botocore/client.py”,看看它是如何工作的。此外,您可以查看 boto3 和 botocore 文档以了解如何使用这些对象。
| 归档时间: |
|
| 查看次数: |
1498 次 |
| 最近记录: |