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。
解决方案
您可以使用该readline
方法一次读取一行,并记录您已阅读的内容以确定每行的行号。
推荐阅读
- ffmpeg - 作为服务运行时,ffmpeg -hls_time 选项无法正常工作
- android - 我可以在一个 HTTP 请求中从谷歌距离矩阵 api 获取所有数据吗?
- swift - 带有自动布局的 uiscrollview 的动态内容未按预期工作
- php - 未捕获的 ArgumentCountError。分解意义
- php - PSR-4 自动加载选项没有在我的项目中加载类?
- c# - 脚本任务 C# 中的命令超时
- google-cloud-platform - 是否可以使用 gcloud CLI 启动 GCP 市场条目?
- d3.js - D3 力有向图 - 如何过滤节点和关联链接?
- react-native - 在 React-Native 上实现 Google Cloud Speech-to-Text
- javascript - React Set State From CountDown Child