대사 파일 만드는 과정
Line 리스트에 모여있는 모니카의 대사 텍스트를 monica 문자열에 담고
이 문자열을 파일에 저장
리스트에서 문자열로 대사를 옮길 때 그냥 옮기는 것이 아니라
각 대사가 끝날 때마다 줄바꿈 문자인\n
을 추가한다
findall()
메서드 → Line
리스트 만들기찾은 조건식을 모두 리스트로 만들어 준다는 점에서 쉽게 사용할 수 있다
re.search()
나re.match()
보다는re.findall()
가 더 선호하는 경우가 있다
더 알아보기
여기서도 모니카의 대사를 모두 모으려면 findall()
가 가장 적합한 명령어이다
미리 컴파일해 놓은 검색 조건을 script101
에서 모두 찾아
리스트로 변환해 Line
이라는 변수에 저장하라는 명령을 내리면 리스트로 반환된다
# 'Monica:' 다음 아무거나 반복되는 (.+) 패턴을
# script101에서 찾아 리스트로 반환된다
>>> Line = re.findall(r'Monica:.+', script101)
제대로 명령어를 인식했는지 확인하기 위해 3문장만 출력해보자
Lion[:3]
: Line 리스트 요소 중 앞 3개까지만 출력하라는 의미
>>> print(Line[:3])
["Monica: Thereis notiong to tell! He's just some guy I work with!\r", "Monica: Okay, evetybody relax. This is not even a date. It's just two people going out to dinner and-not having sex.\r", "Monica: And They weren't looking at you before?!\r"]
for문
→ Line
리스트 더 매끄럽게 출력실제로 결과값을 보기위해 출력할 때는
fot문을 사용하면 더 매끄럽게 출력할 수도 있다
>>> for item in Line[:3]:
print(item)
Monica: Thereis nptiong to tell! He's just some guy I work with!
Monica: Okay, evetybody relax. This is not even a date. It's just two people going out to dinner and-not having sex.
Monica: And They weren't looking at you before?!
>>> f.close()
대사를 저장한 파일 'monica.txt'를 쓰기 모드로 만든다
코덱 오류를 방지하기 위해 encoding = 'utf-8'
은 붙여 준다
>>> f = open('monica.txt', 'w', encoding = 'utf-8')
텍스트 파일에 대사를 저장하기 위해서
Line 리스트에 저장한 모니카 대사 리스트를 문자열 형식으로 다시 저장해야 한다
여기에서 사용할 객체를 'monica' 로 만드는데,
이때 'monica' 객체를 선언할 때 빈 문자열을 저장하면 문자열 형식으로 객체가 만들어진다
>>> monica = ''
Line 리스트의 모든 원소를 가져와 monica 문자열에 추가
리스트를 그대로 문자열로 바꿔 저장할 수도 있지만,
for문을 이용하면 정돈된 문자열로 저장할 수 있다
>>> for i in Line:
monica += i
객체 f를 사용해 monica.txt
파일에 monica 문자열 입력했을 때
어떤 숫자 파일에 쓴 문자의 개수
가 나온다면 정상적으로 입력된 것이다
>>> f.write(monica)
4542
>>> f.close() # 작업이 끝났으면 파일 닫기!!
이때 monica.txt
를 보면 한 줄에 모두 작성된 것을 확인할 수 있는데
이를 한 줄씩 가지런히 정리해보자
모니카의 대사를 찾아서 저장할 때마다 줄을 바꾸라고 명령하면 된다
print() 함수
에서 줄바꿈 명령어 \n
>>> print('다음과 같은 표기로 줄을 바꿀 수 있습니다. \n이제 줄이 바뀌었군요!')
다음과 같은 표기로 줄을 바꿀 수 있습니다.
이제 줄이 바뀌었군요!
대사 파일 만드는 과정
Line 리스트에 모여있는 모니카의 대사 텍스트를 monica 문자열에 담고
이 문자열을 파일에 저장
리스트에서 문자열로 대사를 옮길 때 그냥 옮기는 것이 아니라
각 대사가 끝날 때마다 줄바꿈 문자인\n
을 추가한다
>>> monica = '' # monica 객체를 다시 선언
>>> for i in Line:
monica += i + '\n' # monica에 저장하는 모든 i값에 '\n'을 더해 monica에 저장함
# 슬라이싱해서 100범째까지만 읽어보자 \n이 추가됨
>>> monica[:100]
"Monica: There's nothing to tell! He's just some guy I work with!\nMonica: Okay, everybody relax. This."
>>> f = open('monica.txt', 'w', encoding = 'utf-8')
>>> f.write(monica)
4615 # '\n'을 추가해 파일에 쓴 문자 개수가 조금 늘어난다
>>> f.close()