이번편은 text 문서 불러오는 법, 여기에 새로운 내용 추가하는 법등을 배워볼까 합니다. 우선 아무런 library도 필요없구요. 기본적으로 text file을 하나 만들어봅시다. 이거는 오로지 jupyter notebook에서만 사용가능한 방법이라 그외의 프로그램에서는 별 의미가 없습니다. 주피터에서는 다음과 같이 텍스트 파일을 생성할 수 있어요. %%writefile 파일명.txt
%%writefile test.txt
Hello, this is a quick test file.
This is the second line of the file.
이렇게 우선 만들고 이 파일을 불러옵니다. 그냥 open만 해주면 됩니다.
myfile=open('test.txt')
이렇게만 하면 안 읽히고 myfile.read()로 읽어줘야 하는데, 재미있는 것은 myfile.read()를 두 번 이상 사용하면 원래 내용이 읽히지 않아요.이유는 커서가 마지막으로 가서 그런건데, 그러면 myfile.seek(0) 으로 이동 시켜줘서 다시 읽어줘야 합니다.
줄을 구분해서 읽고 싶다고 하면 print를 이용해도 되구요.
content=myfile.read()
print(content)
아니면 readlines()라는 명령어를 통해서 각 줄을 명확하게 구분해서 읽어라 아래처럼 해주면 됩니다.
mylines=myfile.readlines()
for line in mylines:
print(line)
그런데 readlines가 뭐가 좋냐면 split해서 더 잘게 볼 수 있다는 점이 있어요. 예를 들어서 위의 명령어만 치면 아래처럼 나오지만,
가령, 각 문장의 첫번째 알파벳이 뭐냐 그러면 다음과 같이,
아니면 각 문장의 첫번째 단어가 뭐냐 (.split) 그러면 다음과 같이 적어줄 수 있습니다.
그리고 앞에서 텍스트를 읽을 때 그냥 open 명령어를 썼는데, 이게 읽기 전용인지, 써서 overwrite 할 건지, 아니면 이걸 연 다음에 추가로 하는 건지에 대한 옵션이 각각 다릅니다. 그냥 읽기 전용이면, open로 해도 되는데 덧 씌우는 거면 w+를 적어주고,
myfile=open('test.txt', 'w+')
기존 것은 유지해주면서 첨부하는 식이면 a+를 적어주면 됩니다.
myfile=open('test.txt', 'a+')
이 둘은 다른 게 만약에 myfile.write("I am a boy")를 입력하면 맨 위 옵션은 그냥 I am a boy만 남는 반면에, 두번째 옵션은 기본 문서에 I am a boy가 추가가 되는 형식으로 진행됩니다. myfile.read()로 확인 가능.
그리고 파일을 다 읽고 마무리 할 때는 myfile.close()를 해줘야 다른 프로그램에서 쓸 때 충돌하지 않습니다.
'Python > PYTHON Natural Language Processing' 카테고리의 다른 글
[Python] text 검색 기본 function#3: group, ., + (0) | 2020.09.14 |
---|---|
[Python] text 검색 기본 function#2 (0) | 2020.09.11 |