Python:在特定lin处打开并显示文本文件

2024-06-26 17:39:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我不经常使用Python,但有时我会在其中开发简单的工具,使我的生活更轻松。我最常用的是SAS的日志检查器/原始调试器。它逐行读取SAS日志,检查我的列表中是否有任何错误,并将找到的任何内容转储到标准输出中(我在redhatlinux环境中运行python2.6)——除了错误之外,它还打印出错误的行号(这不是超级有用的)。在

我真正想做的是有选择地给脚本输入一个行号,让它在GVIM中打开SAS日志并显示它向下滚动到我指定的行号。我一直没有找到一个办法来做这件事-我已经在谷歌上彻底搜索过了,但没有结果。任何想法都将不胜感激。谢谢! 杰里米


Tags: 工具脚本内容列表标准错误调试器sas
3条回答

根据您检查这些日志的频率和它们的噪音大小,可能值得您花时间整理一个^{},这样您就可以使用Vim的quickfix列表在错误之间快速跳转。在

一旦得到行号,就可以运行gvim filename -c 12,它将转到第12行(这是因为-c <command>是“加载第一个文件后执行<;command>;”,所以-c12只是在加载文件后说run :12)。在

因此,我不确定您是否真的需要Python;只需将行号直接发送到gvim就可以了。在

如果你想要10号线

>>> f = open('thefile.log')
>>> lines = f.readlines()
>>> lines[10]

或是一下子

^{pr2}$

在gvim中打开

>>> import subprocess
>>> subprocess.call(['gvim', '-c', '10', 'thefile.log'])

相关问题 更多 >