繁体   English   中英

使用 python configparser 读取 AWS 配置文件时遇到问题

[英]Having trouble reading AWS config file with python configparser

我运行aws configure来设置我的访问密钥 ID 和秘密访问密钥。 这些现在存储在~/.aws/credentials ,如下所示:

[default]
aws_access_key_id = ######
aws_secret_access_key = #######

我正在尝试访问我正在使用 configparser 编写的脚本的这些键。 这是我的代码:

import configparser

def main():
    ACCESS_KEY_ID = ''
    ACCESS_SECRET_KEY = ''

    config = configparser.RawConfigParser()

    print (config.read('~/.aws/credentials')) ## []
    print (config.sections())                 ## []
    ACCESS_KEY_ID = config.get('default', 'aws_access_key_id') ##configparser.NoSectionError: No section: 'default'
    print(ACCESS_KEY_ID)

if __name__ == '__main__':
    main()

我使用python3 script.py运行脚本。 关于这里发生了什么的任何想法? 似乎 configparser 根本没有读取/查找文件。

configparser.read不会尝试扩展主目录路径中的前导波浪符“~”。

您可以提供相对或绝对路径

config.read('/home/me/.aws/credentials')

或使用os.path.expanduser

path = os.path.join(os.path.expanduser('~'), '.aws/credentials'))
config.read(path)

或使用pathlib.Path.expanduser

path = pathlib.PosixPath('~/.aws/credentials')
config.read(path.expanduser())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM