我正在尝试从示例模板文件写入文件。我只需要替换$UPPERINTERFACE
为interface
。
这是样本 template.txt
localparam $UPPERINTERFACE_WDTH = 1;
localparam $UPPERINTERFACE_DPTH = 8;
localparam $UPPERINTERFACE_WTCHD = 2;
这是代码:
from string import Template
intf = "interface"
rdfh = open("template.txt", "r").readlines()
wrfh = open("myfile.txt", "w")
for line in rdfh:
s = Template(line)
s = s.substitute(UPPERINTERFACE=intf.upper())
wrfh.write(s)
rdfh.close()
wrfh.close()
预期产量:
localparam interface_WDTH = 1;
localparam interface_DPTH = 8;
localparam interface_WTCHD = 2;
由于将其$UPPERINTERFACE_WDTH
作为要替换的变量,因此出现以下错误:
KeyError: 'UPPERINTERFACE_WDTH'
有什么办法我只能$UPPERINTERFACE
用interface
这里替换吗?
您可以使用大括号{}
来缩小模板键的范围,如以下模板字符串所示:
>>> line = 'localparam ${UPPERINTERFACE}_WDTH = 1;'
>>> Template(line).substitute(UPPERINTERFACE=intf.upper())
'localparam INTERFACE_WDTH = 1;'
该文档指出以下内容:
${identifier}
等价于$identifier
。当有效的标识符字符位于占位符之后,但不属于占位符时,例如,则是必需的"${noun}ification"
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句