首页 > 解决方案 > 使用字典作为查找表

问题描述

我有一个 jinja 模板,我想将一个值传递给(一个国家的标识符)。数据的格式是两个字母的国家代码(例如"PL"波兰)。

通过模板,我需要将相应的标志作为输出传递,但是标志保存在app文件夹结构中,所以我需要获取图像的路径。

我的问题:我想不出os.path在 jinja 中使用的方法,所以现在我试图通过创建一个匹配国家字符串和相对路径的字典来解决它,如下所示:

countries = {"PL" : "countries/flags/poland.png"}

应用程序文件夹的系统路径随后在 Python 中通过os.path.

我的问题:如何使用我得到的国家字符串自动转换为国家的路径格式?就像是:

for data in countries:
    if data in countries.keys:
        return countries.value

提前致谢!

标签: pythonpython-3.xdictionaryoperating-systemjinja2

解决方案


假设data是一个国家代码("PL"例如):

def get_path(data):
    return countries.get(data)

get()方法检查字典是否有键,如果有则返回相应的值,否则返回None.

如果您想要一个默认值,而不是None键不存在时,您可以将其指定为第二个参数,如下所示:

def get_path(data):
    return countries.get(data, "default/path/x/y/z")

推荐阅读