我在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