如何解决基于python提取文本文件数据
我有一个vhdl代码文件和一个数据列表。为了使报告自动化,我只想从vhdl文本文件中提取输出端口。这是一个巨大的源文件,但是我只对PORT声明感兴趣,以查找我的数据列表中的端口在vhdl文件中是声明为输入还是输出。
部分输入文件如下:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
LIBRARY blk_mem;
USE blk_mem.blk_mem;
ENTITY blk_mem IS
PORT (
clk1 : IN STD_LOGIC;
en1 : IN STD_LOGIC;
we1 : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
addr1 : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
din1 : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
dout1 : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
);
END blk_mem;
我的数据列表是
clk1
en1
clk1
en1
dout1
我必须检查列表内容(即clk1,en1 ...)是否在vhdl文件中,并检查其输入或输出..是否输出..然后从vhdl代码打印整行。 有什么建议吗?
解决方法
类似的东西-代码生成带有所需信息的python字典
ports = {'clk1','en1','dout1'} # TODO add more ports if needed
data = {}
with open('vhdl.txt') as f:
lines = [l.strip() for l in f.readlines()]
for l in lines:
parts = l.split(':')
if len(parts) == 2:
port = parts[0].strip()
if port in ports:
data[port] = parts[1].strip()
print(data)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。