2010-11-16 59 views
2

我不經常使用Python,但我有時會在其中開發簡單的工具以使我的生活更輕鬆。我最常使用的是SAS的日誌檢查器/原始調試器。它通過逐行讀取SAS日誌來檢查列表中的任何錯誤,並將其找到的任何東西轉儲到標準輸出中(我在RedHat Linux環境中運行Python 2.6) - 以及錯誤,它會輸出錯誤的行號(這不是那麼有用)。Python:打開並在特定行顯示文本文件

我真的很想做的是可選地爲腳本提供一個行號,並讓它在GVIM中打開SAS日誌本身,並顯示它滾動到我指定的行號。我一直沒有找到辦法做到這一點 - 我在Google上看得非常徹底,無濟於事。任何想法將不勝感激。謝謝! 傑里米

回答

3

一旦你的行號,你可以運行gvim filename -c 12,它會去線12(這是因爲-c <command>是「加載第一個文件後執行命令< >」,所以-C 12只在加載文件後運行:12)。

所以我不確定在這種情況下你是否真的需要Python;只需將行號直接發送到gvim即可。

+1

也可以寫成'vim的[名] + 12' – 2010-11-16 03:24:37

+0

@too很多的PHP:謝謝,不知道, – 2010-11-16 03:30:04

+0

@too多PHP:+1,六做的一切:) – g19fanatic 2010-11-16 04:09:04

1

根據您檢查這些日誌的頻率以及它們的嘈雜程度,您可能需要花時間將errorformat放在一起,以便您可以使用Vim的quickfix列表在錯誤之間快速跳轉。

+0

絕對。非常好的建議。 – 2010-11-16 04:01:59

2

如果您在gvim的希望線10

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

或一次

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

打開

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