텍스트 파일의 각 줄에서 문자열을 확인하고 해당 단어가있는 모든 줄을 새 텍스트 파일로 인쇄하는 방법은 무엇입니까?

챈들러 크리

현재 텍스트 파일을 한 줄씩 읽고 특정 항목이있는 모든 줄 str(예 : 줄에 'apple'또는 문자열이있는 경우 'Hello World')을 새 텍스트 파일 로 전송하는 스크립트를 작성하려고 합니다.

fpath = open('Redshift_twb.txt', 'r')
lines = fpath.readlines()

fpath_write = open('Redshift_new.txt', 'w+')

print(lines[0:10])


fpath_write.write(lines[0:10])

fpath.close()
fpath_write.close()

현재는 기본 사항 만 설정했지만 사용할 때 .readlines()모든 행을 별도의 색인에있는 목록에 추가 하기 때문에 문제가 발생 합니다. 그런 다음 새 파일에 다시 쓰려고하면 오류 메시지가 나타납니다.

fpath_write.write(lines[0:10])
TypeError: write() argument must be str, not list

에서 함수 .write()사용할 수 없기 때문 list입니다.

나는 이것이 두 부분으로 된 질문이라는 것을 알고 있지만, 어떤 도움이라도 대단히 감사하겠습니다.

rdas
  • 입력 파일의 행 읽기
  • 목록을 필터링 하여 출력 파일에 기록해야하는 줄을 찾습니다.
  • join그 라인 \n-단일 문자열을 함께 꿰매기 위해
  • 해당 문자열을 출력 파일에 씁니다.
fpath = open('Redshift_twb.txt', 'r')
lines = fpath.readlines()

fpath_write = open('Redshift_new.txt', 'w+')

print(lines[0:10])

# filter the list; with the string 'apple'
# replace 'apple' with whatever string you want to find
out_lines = [line for line in lines if 'apple' in line]

# Join the lines into a single string
output = '\n'.join(out_lines)

# write it
fpath_write.write(output)

fpath.close()
fpath_write.close()

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관