python中用于阅读json对象和“”删除的字符串操作

x759pob2  于 2023-01-14  发布在  Python
关注(0)|答案(2)|浏览(106)

我试图在AWS中构建一个角色,我试图拥有资源列表。
下面是一个示例

shared ={
    "mts":{
        "account_id":"11111",
        "workbench":"aaaaa",
        "prefix":"rad600-ars-sil,rad600-srr-sil-stage1,rad600-srr-sil-stage2"
    },
    "tsf":{
        "account_id":"22222",
        "workbench":"bbbbb",
        "prefix":"yyyy"

    }
}

我正试图建立一个列表

role_arn=[]
for key in shared:
    
    role_arn.append(f"arn:aws:iam::'{shared[key]['account_id']}':role/'{shared[key]['workbench']}'_role")

下面是我输出:

["arn:aws:iam::'11111':role/'aaaaa'_role", "arn:aws:iam::'22222':role/'bbbbb'_role"]

我希望将''从列表中删除,同时追加到列表本身。
期望输出:

["arn:aws:iam::11111:role/aaaaa_role", "arn:aws:iam::22222:role/bbbbb_role"]

我正在尝试使用python,有什么方法可以实现吗?

fbcarpbf

fbcarpbf1#

role_arn=[]
for key in shared:
    
    role_arn.append(f"arn:aws:iam::{shared[key]['account_id']}:role/{shared[key]['workbench']}_role")

除非你需要,否则你不需要这些'。你可以删除它,字符串格式仍然可以正常工作,并且可以去掉'
很可能您的顾虑来自于不知道Lietral格式字符串,您不需要在每个变量之前使用''{}会处理它。

t1qtbnec

t1qtbnec2#

这是我的看法

它使用字典解析来迭代共享字典,而不是for循环

shared ={
    "mts":{
        "account_id":"11111",
        "workbench":"aaaaa",
        "prefix":"rad600-ars-sil,rad600-srr-sil-stage1,rad600-srr-sil-stage2"
    },
    "tsf":{
        "account_id":"22222",
        "workbench":"bbbbb",
        "prefix":"yyyy"

    }
}

role_arn = [f"arn:aws:iam::{data['account_id']}:role/{data['workbench']}_role" for key, data in shared.items()]

print(role_arn)

它给出了输出

['arn:aws:iam::11111:role/aaaaa_role', 'arn:aws:iam::22222:role/bbbbb_role']

相关问题