gpt4 book ai didi

python - 如何替换模板文件中变量名的一部分

转载 作者:行者123 更新时间:2023-12-01 08:00:53 27 4
gpt4 key购买 nike

我正在尝试从示例模板文件写入文件。我只需将 $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'

有什么办法可以只用 interface 替换这里的 $UPPERINTERFACE 吗?

最佳答案

您可以使用花括号 {} 来缩小模板键的范围,如以下模板字符串所示:

>>> line = 'localparam ${UPPERINTERFACE}_WDTH = 1;'
>>> Template(line).substitute(UPPERINTERFACE=intf.upper())
'localparam INTERFACE_WDTH = 1;'

documentation声明如下:

${identifier} is equivalent to $identifier. It is required when valid identifier characters follow the placeholder but are not part of the placeholder, such as "${noun}ification".

关于python - 如何替换模板文件中变量名的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55736794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com