如果变量具有值,我尝试使用em.py的条件来扩展不同的:
import em
d1={"year":2012, "title":"abc"}
d2={"year":None, "title":"abc"}
p="@(year?year)@title" # the pattern
#p="@(year?year - )@title" # this does not work
print em.expand(p, d1)
print em.expand(p, d2)
# I would like to have it expanded into: "2012 - abc" for d1 and "abc" for d2
因此,如果设置了年份(与 不同None
),则应该插入一个额外的分隔符(我使用带有空格的破折号:“ - ”)也应该插入年份。
那么:我应该使用什么模式 p ?
我知道这有效:
@(year?year)@(year?" - ")
但这不像我喜欢的那样可读。