2012-06-12 1 views

답변

2
with open('data.txt') as inf: 
    for line in inf: 
     if line.startswith('ExitAddress'): 
      print line.split()[1] 

당신에게 줄 것이다

data.txt 당신이 (나는 또한 당신이 연결된 큰 파일을 실행)에 게시 된 네 개의 줄이 포함
220.0.231.71 

. with을 사용하면 작업이 완료되거나 예외가 발생했을 때 파일을 "자동으로"닫습니다. 데이터 파일이 열린 후에

list comprehension 당신을위한 목록에있는 모든 데이터를 수집합니다 :

a = [line.split()[1] for line in inf if line.startswith('ExitAddress')] 

또는 양자 택일로, 당신은 메모리에 전체 목록을 한 번에 수집하지 않으려면

g = (line.split()[1] for line in inf if line.startswith('ExitAddress')) 

또한 파일 자신을 닫는 알아서해야합니다 : 당신은 generator expression가 사용할 수 있습니다.

+0

모든 행을 split() 할 필요가 없으며 조건부가 true 인 경우에만 분할 할 수 있습니다. – jordanm