프로그래밍/Python

데이터를 저장하기?! - pickle 이용

seungdols 2014. 12. 29. 20:50

파이썬은 피클이라고 하는 표준 라이브러리를 제공합니다.


모든 파이썬 데이터 객체를 저장하고 읽을 수 있습니다.


데이터를 파일에 피클링하면, 데이터는 영구적으로 존재하게 되고, 나중에 재사용이 가능합니다.




데이터  - 피클엔진 - 피클링


이러한 수순으로 과정이 진행 되는데 한 번 살펴 볼까요?>>>



HoW?? 어떻게 하면 될까??


import pickle을 해준 뒤 dump라는 함수를 이용하여 데이터를 저장하고, 나중에 꺼낼 떄는 load()함수를 이용하면 된다.


단, 피클 파일로 작업 할 때는 파일을 이진 접근 모드로 열어야 한다.


파이썬의 pickle 모듈은 이진 형식으로 저장하므로 텍스트 편집기에서는 이상하게 보일 수 있다.



import pickle

man = []
other = []

try:
    data = open('sketch.txt')

    for each_line in data:
        try:
            (role, line_spoken) = each_line.split(':')
            line_spoken = line_spoken.strip()
            if role == 'Man':
                man.append(line_spoken)
            elif role == 'Other Man':
                other.append(line_spoken)
            else:
                pass
        except ValueError:
            pass

    data.close()
except IOError:
    print('The datafile is missing!')

try:
    with open('man_data.txt', 'wb') as man_file, open('other_data.txt', 'wb') as other_file:
        pickle.dump(man, file=man_file)
        pickle.dump(other, file=other_file)
except IOError as err:
    print('File error: ' + str(err))
except pickle.PickleError as perr:
    print('Pickling error: ' + str(perr))

- 헤드퍼스트 파이썬 예제.
반응형