2012-11-22 2 views
0

에 speciific 문자열을 추출 나는 timestam 생성 추가 어느 시점에서 느릅 나무의 로그 파일을 가지고 있고 지금은 다음과 같이 : 내 파이썬 스크립트에서 파이썬

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 


log.txt:

내가 로그에서 모든 행을 읽는 데 사용 .txt를 학습과 사용을 위해 세트에 그것을 한 줄 한 줄을 추가하고 :

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

그러나 timestam이 솔루션을 추가하고 내 세트에서 나에게 잘못된 값을 제공 한 이후 (그것뿐만 아니라 timestam 포함).

Q : 더 유연하게 만드는 방법으로 timestams 및 timestams가없는 행을 적절한 값으로 추출하는 방법은 무엇입니까?

답변

2

타임 스탬프를 구문 분석하면됩니다. ln.split()[-1] 그렇게

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

이 (루프를 대체하는 발전기의 이해를 사용하여, 당신이 계신 것 같다 공백에 분할 후 마지막 요소를 반환합니다. 더 이상 split()으로 필요한 strip() 모든 공백을 제거 .)

+0

qucik, easy, brilliant - 고마워! – modzello86