관리 메뉴

IT창고

파이썬 파일처리와 예외처리 본문

프로그래밍/Python

파이썬 파일처리와 예외처리

방구석여포 2017. 8. 13. 23:30

파일(File)은 컴퓨터 등의 정보기기에서 정보를 담아 놓은 논리적인 단위 입니다.

파일에는 저장되는 정보에 따라서 나뉘는데 Ascii코드나 유니코드를 통해서 작성된 파일을 텍스트파일 2진데이터로 저장된 파일은 바이너리 파일이라고 부릅니다.

파일은 저장하는 정보나 성격에 따라서 여러가지의 특징을 가지게 되는데 그러한 특징을 예를 들어 jpg,exe,dll과 같은 특성을 가집니다.

 

파이썬(python)에서의 파일(File)처리

파이썬에서 파일처리를 하기 위해서는 open/close 과정이 필요합니다.

ex)

파일객체 = open(파일이름, 모드)

>>> f=open("Test.txt",'w')

>>> f.close()

 

파일모드는 open된 파일을 어떻게 사용할지 결정하는 모드입니다 파일모드에는 아래와 같은 모드가 있습니다.

r / rb      : 읽기모드 - 파일을 읽기만 할때 사용(rb는 바이너리 파일)

r+ / rb+  : 읽기모드 - 파일을 읽고 쓸 경우 사용(rb+는 바이너리파일)

w/ wb     : 쓰기모드 - 파일에 내용을 쓸 때 사용 파일이 존재하지 않을 경우 새로만듬

w+/ wb+ : 쓰기모드 - 파일을 읽고 쓸 경우 사용 파일이 존재하지 않을 경우 새로만듬

a /ab      : 추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용 파일이 존재하지 않는 경우 새로 만듬

a+/ab+   : 추가모드 - 파일 마지막에 새로운 내용을 추가하거나 읽기 위해 사용 파일이 존재하지 않는 경우 새로 만듬

 

파일읽기로  File의 내용을 읽기 위해서는 readline()함수를 사용합니다.

ex)

 

f= open("./test.txt", 'r')


while True:
    txt = f.readline()
    if not txt : break
    print(txt)


f.close()

하나씩 불러오는게 readline()함수라면 readlines() 함수는 내용 전체를 한꺼번에 읽기 위해서 사용합니다.

File내용을 읽기 위해서는 read()함수를 사용할 수도 있고 파일의 읽는 위치를 변경하기 위해서는 seek()함수를 사용합니다.

그리고 open된 파일은 아래와 같은 속성을 가집니다.

file.closed  : 만일 파일이 close된 경우 false를 반환

file.mode   : 파일 open 모드를 반환

file.name   : 열린 파일의 이름

 

 

예외처리

 

프로그램 작성시 작성자가 의도하지 않는 동작이나 예상치 못한 오류에 대한 처리가 필요합니다.

오류가 발생하면 사용자 프로그램의 실행이 중지되거나 데이터 처리에 문제가 발생하고

동작의 오류뿐만 아니라 사용자가 의도하지 않는 데이터의 입력 값 범위에 대한 제한 등 데이터 값의 제한에도 사용합니다.

 

파이썬에서 코딩을 하다 보면 에러(Error)가 발생할 때가 있는데 이러한 에러를 예외처리를 할 수 있습니다.

try / except문 이 있습니다 기본형식은

try:

처리할 내용

except:

에러 발생 시 처리할 내용

ex)

a = input("Enter the Number:")
try:
    b = int(a)
    print("Number : %d "% b)
except:
    print("Wrong Number")

이러한 방법으로 특정excpt처리를 할수있는데

while True:
    a = input("숫자를 넣어주세요 :")
    b = input("나눌 숫자를 넣어주세요:")
    try:
        c = int(a) / int(b)
        break
    except ZeroDivisionError:
        print("0 으로는 나눌 수가 없습니다.")
print(" a 나누기 b 는 : %d" % c)

 

위와 같이 특정 에러를 에외처리를 할수있습니다.

FileNotFoundError
ZeroDivisionError
SyntaxError
IndexError

위의 4가지의 에러가 대표적으로 예외처리를 할수있는 에러 입니다.

 

 

'프로그래밍 > Python' 카테고리의 다른 글

파이썬 GUI  (0) 2017.08.15
파이썬 내장함수와 외부모듈  (0) 2017.08.14
파이썬 모듈과패키지  (0) 2017.08.13
파이썬 입력과출력, 클래스  (0) 2017.08.13
파이썬 조건문, 반복문, 함수  (0) 2017.08.13
Comments