NLP

파이썬 텍스트 파일 다루기

고양이호랑이 2022. 3. 21. 12:19

파일 열기

  • 테스트 파일에 글쓰기
%%writefile test.txt
Hello, this is a quick test file.
This is the second line of the file.

>>> Overwriting test.txt

 

  • 파일 열어 내용 확인하기
my_file = open('test.text')
my_file

>>> <_io.TextIOWrapper name='test.txt' mode='r' encoding='UTF-8'>

my_file.read()

>>> 'Hello, this is a quick test file.\nThis is the second line of the file.\n' (read()로 읽는다)

my_file.read()

>>> '' (다시 읽으려고 하면 내용이 나오지 않는다)

my_file.seek(0)

>>> 0 (커서 위치를 시작점으로 돌려야 한다)

my_file.read()

>>> 'Hello, this is a quick test file.\nThis is the second line of the file.\n' (다시 잘 읽힌다)

my_file.seek(0)
my_file.readlines()

>>> ['Hello, this is a quick test file.\n',
 'This is the second line of the file.\n'] (readlines()는 한줄씩 읽어준다)

 

파일 닫기

my_file.close()

 

파일 쓰기 (쓰기 모드)

my_file = open('test.txt', 'w+')

(w+ 모드로 test.txt 파일을 연다)

my_file.read()

>>> '' (빈 파일이다)

my_file.write('This is a new first line')

>>> 24

my_file.seek(0)
my_file.read()

>>>'This is a new first line' (내용이 들어갔다)

my_file.close()

 

파일 쓰기 (이어쓰기 모드)

my_file = open('test.txt', 'a+')

(a+ 모드로 test.txt 파일을 연다)

my_file.write('\nThis line is being appended to test.txt')
my_file.write('\nAnd anthoer line here.')

>>> 23 (새로운 내용을 쓴다)

my_file.seek(0)
print(my_file.read())

>>> This is a new first line

This line is being appended to test.txt

And anthoer line here. (기존의 내용에 덧붙여진 것을 확인할 수 있다)

 

 

with open

: with 블록을 벗어나는 순간 열린 파일 객체 f가 자동으로 close되어 편리하다.

with open('test.txt', 'r') as txt:
    first_line = txt.readlines()[0]

print(first_line)

>>>This is a new first line

txt.read()

>>> ValueError: I/O operation on closed file. (닫힌 파일이기 때문에 읽을 수 없다)

 

 

파일의 모든 라인 출력하기

with open('test.txt', 'r') as txt:
    for line in txt:
        print(line, end='')

>>> This is a new first line

This line is being appended to test.txt

And anthoer line here.

'NLP' 카테고리의 다른 글

[처음 배우는 딥러닝 챗봇] chapter 4. 임베딩  (0) 2022.07.07
Transformer to T5) conclusion 요약  (0) 2022.07.04