본문 바로가기
Python 코딩도장

파이썬 코딩도장 Unit 27 정리(1) - 파일에 문자열 쓰기, 읽기

by chanfficial 2022. 2. 14.

Unit 27

 

1. 파일에 문자열 쓰기, 읽기

 

1-1. 파일에 문자열 쓰기

  • 파일에 문자열을 쓸 때는 open 함수로 파일을 열어서 파일 객체(file object)를 얻은 뒤에 write 메서드를 사용한다.
    파일객체 = open(파일이름, 파일모드)
    파일객체.write('문자열')
    파일객체.close()​
    file = open('hello.txt', 'w') # hello.txt 파일을 쓰기 모드(w)로 열기. 파일 객체 반환
    file.write('Hello, world!')   # 파일에 문자열 저장
    file.close()                  # 파일 객체 닫기​
  • 위의 소스 코드를 실행하면 .py 파일이 있는 폴더에 hello.txt 파일이 생성되고, 그 파일을 열어보면 'Hello, world!' 문자열이 생성된 것을 볼 수 있다.

 

 

1-2. 파일에서 문자열 읽기

  • 파일을 읽을 때도 open 함수로 파일을 열어서 파일 객체를 얻은 뒤 read 메서드로 파일의 내용을 읽으며, 이때는 파일 모드를 읽기 모드 'r' 로 지정한다.
    변수 = 파일객체.read()​
    file = open('hello.txt', 'r') # hello.txt 파일을 읽기 모드(r)로 열기. 파일 객체 반환
    s = file.read()               # 파일에서 문자열 읽기
    print(s)                      # Hello, world!
    file.close()                  # 파일 객체 닫기​

 

1-3. 자동으로 파일 객체 닫기

  • 매번 close로 파일을 닫지 않아도, with as를 사용하면 파일을 사용한 뒤 자동으로 파일 객체를 닫아준다.
  • with 다음에 open으로 파일을 열고 as 뒤에 파일 객체를 지정한다.
    with open(파일이름, 파일모드) as 파일객체:
        코드​
    with open('hello.txt', 'r') as file:    # hello.txt 파일을 읽기 모드(r)로 열기
        s = file.read()                     # 파일에서 문자열 읽기
        print(s)                            # Hello, world!​
  • 이렇게 입력하면 read로 파일을 읽고나서 close를 사용하지 않아도, with as 가 자동으로 파일 객체를 닫아준다.