変数に値がある場合は、 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?" - ")
しかし、それは私が望むほど読みやすくはありません。