python - 从文件生成 Python 列表,并从源匹配返回特定值
问题描述
我正在尝试在 python 中构建一个脚本,它将读取包含策略映射列表的文件并生成一个列表。需要为特定策略映射引用另一个源并仅从当前列表中返回该值。
我已经使用 readlines() 读取了文件并生成了一个列表。无法组合索引如下。
['policy-map mohideen1\n', ' class class-default\n', ' service-policy mohideen_child\n', ' police rate 80000000 bps burst 1250000 bytes peak-burst 1250000 bytes \n', ' conform-action transmit\n', ' exceed-action drop\n', ' !\n', ' !\n', ' end-policy-map\n', '!\n', 'policy-map mohideen2\n', ' class class-default\n', ' service-policy mohideen2_child\n', ' police rate 100000000 bps burst 1562500 bytes peak-burst 1562500 bytes \n', ' conform-action transmit\n', ' exceed-action drop\n', ' !\n', ' !\n', ' end-policy-map\n', '!\n', '\n']
预期的输出应该如下:它应该结合 \n' 之后的所有索引,第二个索引应该在那之后,理想情况下我需要在这个列表中有 2 个索引。
按预期生成列表,我在记事本中有一个策略列表,需要遍历它,如果在现有的新列表中找到匹配项,则应返回特定索引。
with open('ICR_input.txt' , 'r') as file_object:
full = file_object.readlines()
print (full)
s = full.split('end-policy-map')
print(s)
输出
SOURCE = ['a\n' , 'b\n', '!\n', 'c\n' , 'd\n' ,'!\n']
修改如下
SOURCE1 = ['a\n b\n', 'c\n d\n']
解决方案
我猜你想用“!\ n”分隔你的文本?
您可能希望首先使用 .read() 而不是 .readlines() 来获取字符串。然后,使用 split("!\n") 创建所需的列表。
我冒昧地为您编写了一个函数:
def readFile(filename):
F=open(filename,"r")
s=F.read()
F.close()
return s.split("!\n")
推荐阅读
- flutter - 如何在颤动中播放来自 URL 的音频?
- arrays - 如何在 Swift 中正确解析带有根元素的 JSON 作为数组?
- python - 从列表中删除重复的号码,不起作用
- java - 给定五个正整数,找出可以通过将五个整数中的四个恰好相加来计算的最小值和最大值
- node.js - 在 Nodejs Express 中添加通用头文件
- django - Pyinstaller 不包含 django rest 框架模板
- node.js - 如何在 Node.js 中以像素为单位获取 PDF 尺寸?
- mysql - 创建 gcp mysql 时,请求在 terraform 上的身份验证范围不足
- go - 合并来自多个 webrtc 对等连接的 OPUS 音频数据包
- c# - 在 C# 中使用 azure 服务总线的指数退避