Python/PYTHON Natural Language Processing

[Python] text 편집 완전 기본

시키테이 2020. 9. 18. 05:28
반응형

이번편은 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()를 해줘야 다른 프로그램에서 쓸 때 충돌하지 않습니다. 

 

 

반응형