2014-04-02 3 views
0

문구를위한 txt 파일을 검색하고 문구가 포함 된 모든 줄을 인쇄 할 수있는 함수를 작성해야합니다.특정 문구가 포함 된 텍스트 파일의 모든 줄을 인쇄하는 방법

def find_phrase(filename,phrase): 
    for line in open(filename): 
     if phrase in line: 
      print line, 

내가 지금 가지고있는 것이 바로 첫 번째 인스턴스입니다.

+0

이렇게하면됩니다. 일치하는 대소 문자를 구분하는 행이 두 개 이상 있습니까? 또한 : with 문을 사용하면 완료되면 자동으로 파일을 닫을 수 있습니다. – ramcdougal

+0

간단한 예제 파일로 저에게 도움이됩니다. 사용중인 파일을 보여줄 수 있습니까? – Germano

+0

그것은 나를 위해 일했습니다. 코드의 출력 예제를 게시 할 수 있습니까? – Tengis

답변

1

나는 내가 스크립트를 실행할 때이

#sample.py 

import sys 
print "testing sample" 
sys.exit() 

처럼가는 샘플 스크립트와 코드,

find_phrase('sample.py','sys') 

그것은 인쇄,

import sys 
sys.exit(). 

이 만약을 시도 의도 한 출력이 아니므로 사용중인 파일을 공유하십시오.

0

다음은 파이썬 접근법입니다. with 문은 안전하게 파일을 열고 파일이 끝나면 파일을 처리합니다. "with"문으로 여러 파일을 열 수도 있습니다. How to open a file using the open with statement

def print_found_lines(filename, phrase): 
    """Print the lines in the file that contains the given phrase.""" 
    with open(filename, "r") as file: 
     for line in file: 
      if phrase in line: 
       print(line.replace("\n", "")) 
    # end with (closes file automatically) 
# end print_found_lines 
+0

공백으로 교체해야합니다. 원래 게시 된 코드를 재현하려면. – jimifiki

관련 문제