2017-05-08 4 views
0

사용자가 텍스트 파일에서 키워드 나 문구를 검색하고이 텍스트 파일의 모든 행에 다음을 포함하는 함수를 만들려고합니다. 키워드를 목록 상자에 삽입 할 수 있습니다. SearchE 레이블이있는 입력 상자에서 사용자 입력을 받았으며 SearchE 아래에 저장된 값이 들어있는 텍스트 파일의 모든 줄을 목록 상자에 삽입하려고합니다. 텍스트 파일에 액세스 할 때 다른 기능을 돕기 위해 텍스트 파일을 목록 (mylist)으로 변환했습니다. 텍스트 파일에서 항목의 모든 항목을 목록 상자에 삽입하는 방법을 모르겠습니다.텍스트 파일에서 검색하고 모든 결과를 목록 상자에 삽입 - Python

for SearchE.get() in mylist: 
    listbox.insert(END, SearchE.get()) 

답변

0

대신 목록 상자를 사용하는 당신은 다시 모듈에서 findall은() 함수에 전체 파일을 가져오고 파일

# Open file 
f = open('test.txt', 'r') 
# Feed the file text into findall(); it returns a list of all the found strings 
strings = re.findall(r'some pattern', f.read()) 

이을의 검색의 모든 일치하는 항목을 찾을 정규식을 사용할 수 있습니다 예제가 복사되었습니다. Google's introduction to Python

+0

'UnboundLocalError : 할당하기 전에 참조 된 로컬 변수'r '오류가 발생합니다. –

+0

@ Anon23''some pattern''에서 필요한 모든 이스케이프 시퀀스를 아는 경우'r'없이 실행할 수 있습니다 – Aemyl

+0

패턴 앞에있는 r은 원시 텍스트를 사용하기를 원하는 파이썬을 나타 내기위한 것일 뿐이므로 통과합니다 물마루 백 슬래시는 선택 사항입니다. 또한 r과 'some pattern'사이에 공백이 없어야합니다. –