首页 > 解决方案 > 如何根据行号从文件中选择特定行?

问题描述

我有一个类,它采用要测试的模块的名称。然后该类扫描主文本文件并根据所选模块查找需要编译的文件。

这是我到目前为止所拥有的:

class Module():

    def __init__ (self,name):
        self.name = name
        module_start_line = []

        with open('master_module_list.txt', 'r') as master_list:
            for start_no, master_lines in enumerate(master_list):
                if re.search('module ' + self.name, master_lines):
                    module_start_line.append(start_no)
                    print(module_start_line)

module eeprom_top
../../../project_ip/eeprom_ip/src/eeprom_pkg.vhd
../../../project_ip/eeprom_ip/src/eeprom_top.vhd
module fan_ip
../../../project_ip/fan_ip/src/fan_pkg.vhd
../../../project_ip/fan_ip/src/fan_pkg.vhd
module backplane
../../../project_ip/backplane_ip/src/backplane.vhd

因此,如果用户输入“fan_ip”,那么我想module fan_ip从文本文件中复制这两行。

我对python相当陌生,所以请随时纠正我以前的代码。我正在使用 python 3.4。

标签: python

解决方案


您可以使用该readline方法一次读取一行,并记录您已阅读的内容以确定每行的行号。


推荐阅读