如何根据行号从文件中选择特定行?

时间:2019-05-31 16:54:52

标签: python

我有一个类,其中包含要测试的模块的名称。然后,该类将扫描一个主文本文件,并根据所选模块找到需要编译的文件。

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

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。

1 个答案:

答案 0 :(得分:1)

您可以使用readline方法一次读取一行,并对所读取的内容进行计数以确定每一行的行号。