我不经常使用Python,但我有时会在其中开发简单的工具以使我的生活更轻松。我最常用的是SAS的日志检查程序/原始调试程序。它通过行检查SAS日志行检查列表中的任何错误,并将它找到的任何内容转储到标准输出(我在RedHat Linux环境中运行Python 2.6) - 连同错误,它打印出该错误的行号(不是那个超级有用)。
我真正想做的是有选择地为脚本提供一个行号,让它在GVIM中打开SAS日志本身并将其向下滚动到我指定的行号。我没有找到任何方法来做到这一点 - 我在Google上看起来非常彻底,但无济于事。任何想法将不胜感激。谢谢! 杰里米
答案 0 :(得分:3)
获得行号后,您可以运行gvim filename -c 12
,它将转到第12行(这是因为-c <command>
是“加载第一个文件后执行&lt; command&gt;”,所以-c 12只是说加载文件后运行:12
。
所以我不确定在这种情况下你是否真的需要Python;只需将行号直接发送到gvim就可以了。
答案 1 :(得分:2)
如果你想要第10行
>>> f = open('thefile.log')
>>> lines = f.readlines()
>>> lines[10]
或者一下子
>>> open('thefile.log').readlines()[10]
在gvim中打开
>>> import subprocess
>>> subprocess.call(['gvim', '-c', '10', 'thefile.log'])
答案 2 :(得分:1)
根据您检查这些日志的频率以及它们的噪音程度,将errorformat
放在一起可能值得花时间,以便您可以使用Vim的quickfix列表快速跳转错误。