python - python文本文件解析和打印
问题描述
我有一个 300 行的文本文件。我在每一行中寻找一个单词“ABC”如果找到这个单词,我想在找到之前打印该行,然后打印下 X 行。这是我到目前为止的代码,但我不知道如何根据给定的问题陈述进行打印。
path = ('C:\\Users\\40081\\PycharmProjects\\datalog_parsing')
count2=1
count1=1
num_lines = open('BBCnt123.txt').read().count('\n')
print (num_lines)
count2=count1
while count2<=num_lines:
file_name = open("BBCnt123.txt", 'r+')
f= open('BBCnt1234' + '.txt', 'w+')
for line_no, line in enumerate (file_name):
line=f.readlines()
if "BBCnt" in line:
f.writelines((line[count2-1]) )
count2= count2+1
file_name.close()
f.close()
解决方案
with open("file.txt","r") as f:
lines=f.readlines()
[print(lines[c-1]+lines[c:c+X]) for c,e in enumerate(lines) if "ABC" in e]
试试这个列表理解
推荐阅读
- python - 如何将时空数据重塑为 lstm 输入?
- xpages - 通过复合数据上的 getComponent 获取价值
- angular - ngStyle 函数在条件下运行
- python - 无法将 anaconda 上的 python 包更新到最新版本
- django - Django - 如何创建由外键分隔的复选框表单
- java - 字谜检查器来解决管测验
- reactjs - 使用 `react-apollo-hooks` 和 `useSubscription` 钩子
- typescript - 定义相互依赖的泛型类型`map: Map
(参数:部分 ) => T)>;` - javascript - How to run the same function (but class changes) on multiple IDs jQuery
- regex - Remove new line only for specific block