본문 바로가기
programming/Python

파이썬 파일 열기 open 함수 사용

by 개코 - 개발과 코딩 2022. 1. 16.

파이썬에서 파일을 열기 위해 open 함수를 사용한다. open 함수는 기본적으로 4가지 옵션을 가지고 있다. 파일의 내용을 읽기, 추가, 쓰기, 생성 의 옵션이다. 개발자가 파이썬으로 프로그램을 작성할 때 이 4가지 옵션을 가지고 파일을 조작할 수 있다.

파이썬 파일 열기 open 함수 사용

파이썬은 파일을 직접 관리할 수 있다.

관리를 하기 전에 파일을 열어야 ( Open ) 해야 한다.

파일을 오픈한다는 것은 여러가지 의미가 있다.

파일이 없다면 생성해야 하고 있다면 기존의 내용을 무시하고 새로 저장할지 또는 내용을 추가할지 등 여러가지가 있다.

이외에 텍스트 파일 또는 이미지같은 리소스 바이너리 파일 또한 열 수 있다.

파일 열기 Open 메서드

파이썬에서 파일을 열기 위해 사용하는 것이 Open 메서드이다.

Open 메서드는 2가지 인자값을 가진다.

첫번째는 파일명이고 두번째는 옵션이다.

가급적 옵션값은 넣어주는 것이 편하기도 하다.

파일 열기 옵션

파일을 열기위한 기본적인 옵션은 4가지이다.

여러가지 상황에 맞게 만들어져 있기 때문에 개발하는 입장에서 뜻하지 않은 실수를 할 수도 있다.

물론, 이 때는 옵션을 주거나 에러처리를 하면 된다.

  • Open( 파일명 , r )
    지정한 파일이 없다면 에러가 발생한다.
  • Open ( 파일명 , a )
    지정한 파일의 내용 뒤에 새로운 내용을 추가할 수 있다.
    파일이 없다면 새롭게 만든다.
  • Open ( 파일명 , w )
    파일을 쓰기 위해 오픈한다.
    파일이 없다면 새롭게 만든다.
  • Open ( 파일명 , x )
    파일을 새롭게 만든다.
    파일이 있다면 에러가 발생한다.

샘플코드

위의 상황으로 몇가지 테스트를 해 보도록 하자.

먼저 임의의 파일을 지정하고 파일을 오픈하도록 한다.

파일은 파이썬코드로만 만들도록 한다.

print("----------")
    
try :
    f = open("zFile.txt", 'r')
except :
    print('파일이 존재하지 않습니다.')
    
print("----------")
    
try :
    f = open("zFile.txt", 'x')
except :
    print('파일이 존재합니다.')
    
print("----------")

코드를 보자.

존재하지 않는 파일을 열도록 했다.

당연히 파일이 없기 떄문에 에러가 발생할 것이다.

두번째는 파일을 만들고 있다. 만약, 파일이 존재하면 에러가 발생하는 것이다.

결과 화면을 보자.

이제 위의 코드를 다시 실행해 보도록 하자.

파일이 만들어 졌을 것이다.

그렇다면 에러는 반대로 출력될 것이다.

첫번째 결과는 파일이 없기 때문에 발생한 에러이다.

두번째 결과는 파일이 있기 때문에 발생한 에러이다.

이제 다른 코드를 보자.

파일에 내용을 읽고 쓰는 경우이다.

이것들은 파일이 있다면 파일을 새롭게 만든다.

print("----------")
    
try :
    f = open("zWFile.txt", 'a')
    print('파일 생성 및 열기 완료')
except :
    print('파일이 존재하지 않습니다.')
    
print("----------")
    
try :
    f = open("zWFile.txt", 'x')
except :
    print('파일이 존재합니다.')
    
print("----------")
    
try :
    f = open("zAFile.txt", 'a')
    print('파일 생성 및 열기 완료')
except :
    print('파일이 존재하지 않습니다.')
    
print("----------")
    
try :
    f = open("zAFile.txt", 'x')
except :
    print('파일이 존재합니다.')
    
print("----------")

길어보인다. 옵션만 살펴보고 의미만 파악하자.

open 메서드의 a 와 w 는 파일이 없다면 지정한 파일명으로 파일을 생성한다.

차이가 있다면 기존의 파일 내용에 내용을 추가하느냐 그렇지 않느냐 이다.

파일이 존재하면 에러가 나도록 옵션을 x 를 준 open 함수까지 사용하였다.

파일이 만들어졌다.

파일이 존재하기에 x 옵션을 준 open 함수는 에러가 발생한다.

반응형

댓글