파이썬에서는 "apple"이라는 단어가 포함 된 텍스트 파일의 줄을 필터링하고 그 줄을 새 텍스트 파일에 쓰려고합니다. 필자가 시도한 것은 새로운 텍스트 파일에 "사과"라는 단어를 쓰는 반면 전체 줄은 필요합니다. 저는 파이썬에서 초보자입니다. 제 질문에 친절하게 답변 드리겠습니다. 정말 필요합니다.Python : 특정 단어가 들어있는 텍스트 파일의 줄을 필터링하십시오.
8
A
답변
16
를 사용하여 모든 라인이 목록-이해하여 '사과'를 포함 얻을 수 있습니다 : - - 또한 하나의 코드 라인에 따라서
[ line for line in open('textfile') if 'apple' in line]
을 새 TEXTFILE 만들 수 있습니다
open('newfile','w').writelines([ line for line in open('textfile') if 'apple' in line])
을 그리고 eyquem 오른쪽 : 그것은 반복자로 유지하고 쓸 확실히 빠르다
open('newfile','w').writelines(line for line in open('textfile') if 'apple' in line)
1
if "apple" in line:
작동해야합니다. 발전기를 사용
8
from itertools import ifilter
with open('source.txt','rb') as f,open('new.txt','wb') as g:
g.writelines(ifilter(lambda line: 'apple' in line, f))
5
,이 메모리 효율적이고 나는 목록 이해가 객체를 생성 :-)
+1
' apple_finder (file) **는 함수 발생기이고 ** apples **는 생성기입니다. 후자는 ** ifilter (람다 줄 : '사과', f) **와 같은 작업을 ** 두 줄 (수입 포함) – eyquem
관련 문제
- 1. 특정 단어가 들어있는 메모와 일치합니다.
- 2. 텍스트 파일의 특정 줄을 덮어 쓰는 방법
- 3. Windows에서 텍스트 파일의 특정 줄 인쇄 일괄
- 4. grep을 사용하여 불용어 파일의 단어를 필터링하십시오.
- 5. C#에서 텍스트 파일의 특정 줄을 얻는 방법?
- 6. 파일의 특정 줄을 무시하면서 디렉토리 diff 자동화하기
- 7. 영숫자 텍스트 만 필터링하십시오.
- 8. python logparse 특정 텍스트
- 9. VB에서 txt 파일의 특정 줄을 읽습니다 .net
- 10. git이 파일의 특정 줄을 무시하도록하는 방법이 있습니까?
- 11. 특정 줄을 검색 한 후 파일의 이전 줄을 어떻게 출력합니까?
- 12. C에서 텍스트 파일의 여러 줄을 읽는 방법 #?
- 13. 텍스트 파일의 줄을 JComboBox에 복사하는 방법은 무엇입니까?
- 14. 텍스트 파일의 마지막 줄을 지 웁니다.
- 15. 텍스트 파일의 특정 단어의 빈도 계산
- 16. 텍스트 파일에서 특정 줄을 삭제하는 방법 (Windows)
- 17. 거대한 파일의 줄을 읽는 중
- 18. C에서 텍스트 파일의 특정 줄 편집
- 19. 텍스트 파일에서 줄을 찾아 기존 텍스트 파일의 내용으로 바꾸기
- 20. 특정 줄을 파일에 작성하십시오.
- 21. PYTHON 프로그래밍 : 파일의 텍스트 검색 및 바꾸기
- 22. 텍스트 파일의 마지막 줄을 효율적으로 찾을 수 있습니다.
- 23. 텍스트 파일에 줄을 실행하십시오.
- 24. 텍스트 파일의 특정 줄에 쓰기 C#
- 25. PDF 파일의 특정 텍스트 배경색 얻기
- 26. C#을 사용하여 파일의 특정 텍스트 삭제?
- 27. 텍스트 파일의 행 바꾸기
- 28. Perl 디버거에서 require'd 파일의 특정 줄을 어기는 방법은 무엇입니까?
- 29. Python : 특정 열로 텍스트 서식 지정
- 30. g ++에서 텍스트 파일의 특정 부분에 직접 액세스하는 방법은 무엇입니까?
읽을 수없는 뇌 손상을 쉽게 솔루션을 사랑
빠릅니다. 생성자 표현식을 사용하는 것이 더 좋을 것입니다. 그건 그렇고''필자는''필자의 라인''apple line ''에''line in open ('textfile ') 줄을 쓸 수있다.'' – eyquem
@eyquem : 좋아, 나는 대용량 파일의 경우 발전기는 게으르게 동작하므로 많은 메모리를 소비하지 않기 때문에 발전기를 사용하는 것이 좋습니다. 그러나 작은 파일의 경우 목록 이해가 더 빠른 솔루션일까요? – phynfo
@Phynfo : 아니요 ... 생성기/반복기를 유지하는 것이 훨씬 효율적입니다. 리스트 이해력은 여전히 iterator를 생성하고 있습니다. iterator는리스트를 채우고 일단리스트를 작성 라인으로 전달하면 iterator로 되돌립니다. –