我在Python中读取以下文件,并且如果行= [FOR_RECORD],我想跟踪它。在那一点上,我有一个for循环用[REG_NAME]的值填充输出,直到我到达[/ FOR_RECORD]。然后,我想返回到文件[FOR_RECORD]部分的开头,开始填充下一个[REG_NAME]。我怎样才能在这样的Python文件中跳转?如何跟踪文件中的行python
输入文件
--
-- generated with parser version 1.09
use ieee.std_logic_arith.all;
package [PKG_FILE]_pkg is
[FOR_RECORD]
constant [REG_NAME]_offset : std_logic_vector := x"[OFFSET]";
[/FOR_RECORD]
type [REG_NAME]_type is record
[FILED_NAME] : std_logic; -- [OFFSET] :
end record [REG_NAME]_type;
Package is [PKG_FILE]
Python代码
for line in input_1:
if '[FOR_RECORD]' in line:
# This is where I want to jump to the next line
#So I can evaluate the contents
# I have 4 names in reg_name[i]
#Very important that this is nested in the if statement
for x in range(0,4):
if '[/FOR_RECORD]' in line:
break
if '[REG_NAME]' in line:
line=line.replace('[REG_NAME]',reg_name[i]['name'])
output.write(line)
output.write(line)
好吧,这是伟大的,它给了我想要的4个名字。但是我怎样才能打印文件的其余部分呢? – GoldenEagle
如果'[/ FOR_RECORD]'在行 offset2 = input1.tell()' 并且寻找到这个位置并开始打印剩下的部分,你也可以将另一个变量 中'[/ FOR_RECORD]在另一个循环中的文件 – Azad
好吧我想打印出我从你的代码中得到的那些值,它们出现在原始文件中。我怎样才能做到这一点? – GoldenEagle