2012-11-22 28 views
0

我在某些時候,我加入t​​imestam創建登錄至極文件,現在它看起來像這樣:
log.txt:提取speciific字符串在Python

327555 
327563 
327570 
327601 
2012-11-19 22:21:37 :: 327001 
2012-11-19 22:21:37 :: 327004 
2012-11-19 22:21:37 :: 327007 
2012-11-19 22:21:37 :: 327008 

在我的Python腳本我用來讀取日誌中的所有行.txt和行由行添加到一個組獲得進一步的用法:

log_file = open('log.txt') 
set_log = set([]) 
for line in log_file: 
    set_log.add(line.strip()) 
log_file.close() 

但由於timestam此溶液中加入並給了我錯誤的值在我的組(它包含timestam以及)。

問:如何使它更加靈活,所以它沒有時間戳和時間戳,只提取正確的值?

回答

2

只是解析時間戳。 ln.split()[-1]將在空格,這似乎是你以後分裂後返回的最後一個元素,所以

set_log = set(ln.split()[-1] for ln in log_file) 

(使用發電機的理解來取代你的循環。該strip()不再需要爲split()刪除所有空白。)

+0

qucik,easy,brilliant - thanks! – modzello86