gpt4 book ai didi

Python 3.6 对 Dict 对象的变量替换

转载 作者:太空宇宙 更新时间:2023-11-04 07:57:20 26 4
gpt4 key购买 nike

我有以下字典对象:

AUTH_LDAP_USER_FLAGS_BY_GROUP = {
"is_active": "cn=active,ou=groups,dc=example,dc=com",
"is_staff": "cn=staff,ou=groups,dc=example,dc=com",
"is_superuser": "cn=superuser,ou=groups,dc=example,dc=com"
}

我想从变量中定义它的元素:

# Load environmental variables here
hostname = os.environ['AUTH_LDAP_SERVER']
binduser = os.environ['AUTH_LDAP_BIND_USER']
bindgroup = os.environ['AUTH_LDAP_BIND_GROUP']
dc1 = os.environ['AUTH_LDAP_BIND_DC1']
dc2 = os.environ['AUTH_LDAP_BIND_DC2']
bindpassword = os.environ['AUTH_LDAP_PASSWORD']

AUTH_LDAP_USER_FLAGS_BY_GROUP = {
"is_active": "cn=active,{bindgroup},dc={dc1),dc={dc2}",
"is_staff": "cn=staff,{bindgroup},dc={dc1},dc={dc2}",
"is_superuser": "cn=administrators,{bindgroup},dc={dc1},dc={dc2}"
}

如何将变量插入到字典中?

最佳答案

您需要做的就是在要格式化的字符串前面添加一个f。关于 f-strings 的文档.

AUTH_LDAP_USER_FLAGS_BY_GROUP = {
"is_active": f"cn=active,{bindgroup},dc={dc1},dc={dc2}",
"is_staff": f"cn=staff,{bindgroup},dc={dc1},dc={dc2}",
"is_superuser": f"cn=administrators,{bindgroup},dc={dc1},dc={dc2}"
}

此外,我会使用 os.getenv以避免 KeyError 的。

关于Python 3.6 对 Dict 对象的变量替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46613150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com