更新本地机器上的 /.aws/config 文件

Update /.aws/config file on your local machine

我正在尝试更新 mac 上的本地 aws/config 文件。我无法读取或更新配置文件的任何内容。

import configparser
import os
creds_dir = os.path.dirname("~/.aws/config")
config = configparser.RawConfigParser()

if not config.has_section("some"):
    config.add_section("some")

# METHOD -1
config.set("some", 'aws_access_key_id', "access_key")
config.set("some", 'aws_secret_access_key', "secret_key")
config.set("some", 'aws_session_token', "token")
config.set("some", 'aws_security_token', "token")
config.write("~/.aws/config")


# METHOD -2
with open('~/.aws/credentials', 'a') as file_out:
    file_out.write("[profile]")
    file_out.write("aws_access_key_id = aaa")
    file_out.write("aws_secret_access_key = bbb")
    file_out.write("aws_session_token = cccc")

我遇到一个错误:

FileNotFoundError: [Errno 2] No such file or directory: '~/.aws/credentials'

我可以从我的 mac 终端打开文件并查看它。

将其更改为:

creds_file = os.path.expanduser("~/.aws/config")

with open(os.path.expanduser("~/.aws/config"), 'a') as file_out:

~ 扩展通常是 shell 的一部分,因此您需要扩展它。 expanduser returns 具有文件完整路径名的字符串。