我有一堆f字串作为打印标签的模板.这些F-STING中的占位符将填充标签的条目.该F形字符串的一部分可能如下所示:
template_1 = f"""
^FH\^FDLA,{identifier}^FS
^FT145,51FD{name}^FS^CI27
"""
对于每个字段(在本例中为IDENTIFIER和NAME),如果没有提供值,我需要缺省值.这些默认设置对于每个标签都不相同,即使它们具有相同的变量名.
目前,我能想到的唯一(丑陋的)解决方案是使用if/Else语句来设置缺省值,然后对f字符串使用一个巨大的字典.这可能看起来像这样(在某些函数中):
if template == "template_1":
if name is None:
name = "name"
if project is None:
project= "project"
elif template == "template_2":
if name is None:
name = "different name"
if person is None:
person = "some person"
temmplates = {
"template_1" : f"""
as{name}{project}
""",
"template_2" : f"""
asflkjasdf{person}{name}
""",
}
必须有一种更好的方法来动态地用值填充一些f-ing模板并为其提供缺省值.也许是用一个类或者别的什么?但我就是想不通.最好的好处是,如果我可以将这些f-stings和默认值存储在一个toml文件中,但一次只有一个问题:)
提前谢谢你!