본문 바로가기
파이썬

유용한 파이썬 모듈 glob, shutil, pickle

by True Worship 2019. 8. 27.
반응형

pickle

pickle은 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈이다. 다음 예는 pickle 모듈의 dump 함수를 사용하여 딕셔너리 객체인 data를 그대로 파일에 저장하는 방법을 보여 준다.

>>> import pickle

>>> f = open("test.txt", 'wb')

>>> data = {1: 'python', 2: 'you need'}

>>> pickle.dump(data, f)

>>> f.close()

다음은 pickle.dump로 저장한 파일을 pickle.load를 사용해서 원래 있던 딕셔너리 객체(data) 상태 그대로 불러오는 예이다.

>>> import pickle

>>> f = open("test.txt", 'rb')

>>> data = pickle.load(f)

>>> print(data) {2:'you need', 1:'python'}

위 예에서는 딕셔너리 객체를 사용했지만 어떤 자료형이든저장하고 불러올 수 있다.

 

 

shutil

shutil은 파일을 복사해 주는 파이썬 모듈이다.

다음 예시는 src라는 이름의 파일을 dst로 복사한다. 만약 dst가 디렉터리 이름이라면 src라는 파일 이름으로 dst 디렉터리에 복사하고 동일한 파일 이름이 있을 경우에는 덮어쓴다.

>>> import shutil

>>> shutil.copy("src.txt", "dst.txt")

위 예를 실행해 보면 src.txt 파일과 동일한 내용의 파일이 dst.txt로 복사되는 것을 확인할 수 있다.

 

glob

가끔 파일을 읽고 쓰는 기능이 있는 프로그램을 만들다 보면 특정 디렉터리에 있는 파일 이름 모두를 알아야 할 때가 있다. 이럴 때 사용하는 모듈이 바로 glob이다.

디렉터리에 있는 파일들을 리스트로 만들기 - glob(pathname)

glob 모듈은 디렉터리 안의 파일들을 읽어서 돌려준다. *, ? 등 메타 문자를 써서 원하는 파일만 읽어 들일 수도 있다.

다음은 C:/doit 디렉터리에 있는 파일 중 이름이 mark로 시작하는 파일을 모두 찾아서 읽어들이는 예이다.

>>> import glob

>>> glob.glob("c:/doit/mark*") ['c:/doit\\marks1.py', 'c:/doit\\marks2.py', 'c:/doit\\marks3.py']

>>>

반응형

'파이썬' 카테고리의 다른 글

os모듈  (0) 2019.08.27
pdf를 jpg로 바꾸는 모듈  (0) 2019.08.27

댓글