Python:点击字符串时从文本文件打印接下来的x行

2024-03-31

情况如下:

我有一个 .txt 文件,其中包含多次 nslookups 的结果。

我想循环 tru 文件,每次遇到字符串“非权威答案:”时,脚本都必须打印以下 8 行from那个位置。如果它有效,我应该在屏幕上得到所有积极的结果:)。

首先我有以下代码:

#!/bin/usr/python

file = open('/tmp/results_nslookup.txt', 'r')
f = file.readlines()

for positives in f:
        if 'Authoritative answers can be found from:' in positives:
                print positives
file.close()

但那只打印了“权威答案可以从以下位置找到:”它在 .txt 中的时间。

我现在拥有的代码:

#!/bin/usr/python

file = open('/tmp/results_nslookup.txt', 'r')
lines = file.readlines()

i = lines.index('Non-authoritative answer:\n')

for line in lines[i-0:i+9]:
        print line,

file.close()

但是当我运行它时,它会将第一个结果很好地打印到我的屏幕上,但不会打印其他积极结果。

附注我知道 socket.gethostbyname("foobar.baz") 但首先我想解决这个基本问题。

先感谢您!


您可以将该文件用作迭代器,然后每次找到句子时打印接下来的 8 行:

with open('/tmp/results_nslookup.txt', 'r') as f:
    for line in f:
        if line == 'Non-authoritative answer:\n':
            for i in range(8):
                print(next(lines).strip())

每次您使用next()功能 https://docs.python.org/3/library/functions.html#next在文件对象上(或在它上循环for循环),它将返回该文件中的下一行,直到您读完最后一行。

而不是range(8)for循环,我实际上会使用itertools.islice:

from itertools import islice

with open('/tmp/results_nslookup.txt', 'r') as f:
    for line in f:
        if line == 'Non-authoritative answer:\n':
            print(''.join(islice(f, 8)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:点击字符串时从文本文件打印接下来的x行 的相关文章

  • Python ImageTk.PhotoImage 使用 alpha 通道缓慢加载 png

    我编写了一个小程序来加载和显示图像 一切正常 直到我到达 示例中的 png 文件 shade png 显示这张小图片需要七七秒 PhotoImage 是否有错误或者我错过了一些 范围 这是我的示例代码 from PIL import Ima
  • 如何在 django 表单中设置自定义 HTML 属性?

    我有一个 Django 表单 它是页面的一部分 假设我有一个字段 search input forms CharField u Search word required False 我只能通过模板访问它 form search input
  • Plotly - 不同颜色的表面

    我正在尝试在 Plotly for Python 中绘制多个曲面 每个曲面具有不同的颜色 具体来说 表面显示了在相空间中不同点采取行动的预测奖励函数 由于我在每个点都有多个可能的操作 因此每个点都是不同的表面 我想对每个表面进行独特的着色
  • 在python中浏览ftp目录

    我正在尝试使用 ftplib 使用 Python 3 从 ftp 服务器下载多个文件夹 我有一个文件夹名称列表 它们都位于文件夹 root 中 问题是我不知道如何浏览它们 当我使用cwd我可以进入更深的目录 但是如何再次起来呢 我正在尝试得
  • Python - 在先前已在全局范围内查找的函数内重新分配名称

    为什么我在下面的第三个代码中出现错误 但在前两个代码中却没有出现错误 我使用的是 Python 3 6 0 Anaconda 4 3 1 64 位 Jupyter Code 1 c 100 def fib c 20 a c print a
  • 检查对象是否是字符串列表的列表?

    是什么elegant检查对象是否是字符串列表列表的方法 没有嵌套循环 也许这里必须是构造结构化迭代的常规方法 UPD 像这样的东西 l a b c d 1 3 e 2 f def recurse iterable levels result
  • 如何消除 matplotlib 轴的相对偏移

    当我尝试对具有足够大数字的范围进行绘图时 我得到一个所有刻度都有相对偏移的轴 例如 plot 1000 1001 1002 1 2 3 我在横坐标轴上得到这些刻度 0 0 0 5 1 0 1 5 2 0 1e3 问题是如何删除 1e3并得到
  • 类型错误:无法连接“str”和“instance”对象(python urllib)

    写一个python程序 我在使用时遇到了这个错误urllib urlopen功能 Traceback most recent call last File ChurchScraper py line 58 in
  • seaborn 未在定义的子图中绘制

    我正在尝试用这段代码并排绘制两个图表 fig ax1 ax2 plt subplots 1 2 sns displot x X train Age hue y train ax ax1 sns displot x X train Fare
  • 如何使用 Python Flask-Security 使用 bcrypt 加密密码?

    我正在尝试使用 Flask Security 文档中的标准基本示例 并使其正常工作 除了密码以明文形式存储之外 我知道这一行 user datastore create user email email protected cdn cgi
  • Django 自定义查询集过滤器

    在 Django 中 是否有一种标准方法可以为查询集编写复杂的自定义过滤器 就像我能写的一样 MyClass objects all filter field val 我想做这样的事情 MyClass objects all filter
  • Anaconda (Python) - Windows 10 上的 Cmder 集成

    我在 Windows 10 64 位上通过 Anaconda 让 Cmder 使用 Python 时遇到了一些麻烦 我让 Anaconda 工作得很好 测试过用 matplotlib 绘制一些东西 它与 Anaconda Prompt 一起
  • 带参数的 Python 列表过滤

    python中有没有一种方法可以在列表上调用过滤器 其中过滤函数在调用期间绑定了许多参数 例如有没有办法做这样的事情 gt gt def foo a b c return a lt b and b lt c gt gt myList 1 2
  • Python 中的“finally”总是执行吗?

    对于Python中任何可能的try finally块 是否保证finally块总是会被执行吗 例如 假设我在except block try 1 0 except ZeroDivisionError return finally print
  • 是否有比 .apply() 更慢或更受控制的替代方案?

    所以这似乎是一个奇怪的问题 但我有一只熊猫DataFrame其中包含地址 我想对其进行地理编码 以便获得纬度和经度 我有可以使用的代码 apply 感谢这个非常有帮助的线程 使用 geopy pandas 的新列坐标 https stack
  • 从另一个列表的元素创建一个新列表,引用后者的元素

    我想从前一个元素创建一个新列表 但不复制它们 这就是发生的事情 In 23 list range 10 In 24 list2 list 0 4 In 25 list Out 25 0 1 2 3 4 5 6 7 8 9 In 26 lis
  • 带有 graphviz_layout 的水平树

    在Python中 使用networkx 我可以用以下方法绘制垂直树 g nx balanced tree 2 4 pos nx graphviz layout g prog dot nx draw g pos labels b all no
  • 如果我更改当前工作目录,为什么 __file__ 会变成无效路径?

    执行中test py from tmp import os print os path abspath file os chdir var print os path abspath file output tmp test py var
  • 从 s3 获取 ogg 轨道的长度而不下载整个文件

    如何在不下载整个文件的情况下获取 ogg 文件的播放长度 我知道这是可能的 因为 HTML5 标签和 VLC 都可以在加载 URL 后立即显示整个播放长度 而无需下载整个文件 有标题或我可以阅读的内容吗 也许甚至是比特率 我可以将其除以文件
  • vtkPythonAlgorithm 控制管道执行

    我正在尝试用 python 编写一个 vtk 过滤器ProjectDepthImage进行投影不是问题 它控制 vtk 管道的执行 基本上 我对 UserEvent 有一个回调 当用户在渲染窗口处于活动状态时按下 u 键时会触发该回调 这将

随机推荐

  • 使用 Windows 服务手动实现 IoC

    我是 IoC 的新手 因此一直在遵循 Jeffery Palermo 在他的帖子中提供的示例http jeffreypalermo com blog the onion architecture part 1 http jeffreypal
  • SQL:限制链接到每个连接行的行

    我有某些情况需要 MySQL 查询的某些结果集 让我们先看看当前的查询 然后问我的问题 SELECT thread dateline AS tdateline post dateline AS pdateline MIN post date
  • Python 中(大)1554 x 1554 矩阵的行列式

    我需要在 python 中计算单精度的大型 1554 1554 值矩阵的行列式 这样做时我遇到了运行时警告 import numpy as np from numpy import linalg as LA a np random rand
  • 我可以在不使用 npm、VS、Node 等而只使用 JS 代码本身的情况下转换 ES6-ES5 吗?

    我试图让 Firefox 在 ES6 中运行 Promise 但遇到了触发错误的 let 关键字 语法错误 let 是保留标识符 更改脚本标签以包含 类型 应用程序 javascript 版本 1 7 没有用 所以我正在寻求转换代码 我的情
  • Angular 服务测试出了什么问题?

    我有一个调用外部网络服务的服务 angular module myApp services service autoCmpltDataSvc function http var innerMatch function data return
  • 如何管理 mpz_t 数组

    我正在使用 GMP 我需要一系列mpz t sizeof mpz t 给出 16 但我存储的数字比这个大得多 做mpz t 就地 成长 i e 我是否需要分配更多内存并允许就地增长 或者 GMP 是否在其他地方为它们分配空间并仅保留引用 在
  • 忽略拼写检查中的文本框

    我正在尝试创建一个仅对特定单元格进行拼写检查的宏 我已成功对单元格进行拼写检查 但由于某种原因 拼写检查向导随后继续运行 并尝试检查电子表格上的任何文本框 下面是代码 Range C8 Select Selection CheckSpell
  • 如何限制 .net / mono 进程的内存大小

    假设您有一个用 C 编写的应用程序 单进程 默认情况下 应用程序分配巨大的虚拟内存 远远超过其需要 例如驻留内存约为 10mb 而虚拟内存约为几 GB 在 Java 中 可以使用一个选项来限制这一点 java mx128m 如何对 net
  • 截断 MD5 的 ECDF 图

    在这个link https stackoverflow com questions 8184941 uniform distribution of truncated md5 它表示截断的 MD5 是均匀分布的 我想使用 PySpark 检
  • 在 Python 中迭代并从多维数组中选择特定数组

    想象一下我有这样的东西 import numpy as np arra np arange 16 reshape 2 2 4 这使 array 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 我想创建一个沿着特定
  • JavaFX TextArea如何设置带有自动换行符的文本

    在我的应用程序中 我使用了两个Tabs 在第一个中我放置了一个HtmlEditor在第二个中我放置了一个TextArea HTML 选项卡是默认的 当用户创建 HTML 输入时 他可以切换到TextArea以便直接查看或更改 HTML 源代
  • Webpack 未加载 Vue 的单文件组件 CSS

    Webpack 正在编译单个文件组件 但不加载 CSS HTML 和 Vue 已正确呈现 但没有 CSS 看来是webpack配置的问题 知道出了什么问题吗 我在用着webpack dev server加载开发服务器 src index h
  • 是否有可能 - 在 Flutter Web 应用程序中插入 google AdSense?

    我尝试在我的网站上插入下一个代码 Google AdSense 但目前尚未成功 代码是 1 有一段时间我尝试了带有类似句子的 dart js js context callMethod 但是 认为它不起作用 因为我们需要展
  • Ocaml,用列表中的给定元素替换所有指定元素

    我正在编写一个 ocaml 项目 其中我有一个函数可以替换所有 在字符列表中 E 这是我的建议代码 let rec string lst change E lst match lst with gt let a E a h t if h g
  • 在 PAdES 第 4 部分的情况下,带有文档锁定的签名无效

    我遇到一个问题 我在 PAdES 第 4 部分的情况下设置了文档锁定功能 执行文档时间戳签名后签名无效 文档锁定功能的代码片段如下 PdfSigFieldLock pdfSigFieldLock new PdfSigFieldLock pd
  • 使用 PHP 发送带有 WSDL Soap 请求的 Soap 标头

    我对 SOAP 非常陌生 我正在尝试用 PHP 实现一个使用 ASP NET Web 服务的快速测试客户端 Web 服务依赖于包含授权参数的 Soap 标头 使用 WSDL 时是否可以将 auth 标头与肥皂请求一起发送 My code p
  • 拖动左上角时如何调整div大小?

    In CSS3 resize http www w3schools com cssref css3 pr resize asp 要调整大小的图标位于右下角 如何使其显示在左上角并使用户能够相应地调整大小 我发现了here http dev
  • 如何设置 AntiForgeryToken cookie 路径

    前者HtmlHelper AntiForgeryToken https msdn microsoft com en us library dd492243 28v vs 118 29 aspx方法允许人们重写string path已弃用 O
  • Android 列表视图中的卡片翻转

    我需要创建一个列表视图的视图 这应该是一个自定义列表 因为我希望列表中的每个项目都是一个图像视图 触摸时会翻转以显示详细信息 我正在根据 android 参考资料查看 Card Filp 视图 使用片段 但我觉得我错过了一些非常重要的东西
  • Python:点击字符串时从文本文件打印接下来的x行

    情况如下 我有一个 txt 文件 其中包含多次 nslookups 的结果 我想循环 tru 文件 每次遇到字符串 非权威答案 时 脚本都必须打印以下 8 行from那个位置 如果它有效 我应该在屏幕上得到所有积极的结果 首先我有以下代码