OS, shutil, glob, tempfile, time, calender, random 모듈

이찬·2023년 7월 7일

Python

목록 보기
12/17
post-thumbnail

모듈이 프로그램을 구성하는 작은 부품의 느낌이라면, 라이브러리는 자주 사용 되는 로직을 잘 정리한 집합 느낌이다.

os 모듈

  • 'Operating system'의 약자로서 운영체제에서 제공되는 여러기능을 파이썬에서 사용할 수 있도록 한다.
  • OS에 의존하는 다양한 기능을 제공하는 모듈이다. 파일이나 디렉토리 조작이 가능하고, 파일의 목록이나 path를 얻을 수 있거나, 새로운 파일 혹은 디렉토리를 작성하는 것도 가능하다.

shutil 모듈
shutil 모듈은 파일 또는 디렉토리에 대한 복사, 이동, 삭제 등에 관한 기능을 제공한다.

shutil 직속 메소드

  • 삭제 rmtree()
    rmtree(path, ignore_errors=False, onerror=None)

path: 해당 디렉터리 전체를 삭제한다. shutil 모듈을 을 쓰게 만드는 가장 큰 이유다.

  • 복사 copyfile(), copytree()
    copyfile(src, dst, *, follow_symlinks=True)

src: 복사 시킬 파일의 경로다. 아마 source에서 나온 줄임말일 것이다.
dst: 복사된 파일이 저장될 경로다. 아마 destination에서 나온 줄임말일 것이다.
copytree(src, dst, ...)

src를 루트로 하는 전체 디렉터리 트리를 dst 디렉터리에 재귀적으로 복사한다.

  • 이동 move()
    move(src, dst)

src를 루트로 하는 전체 디렉터리 트리를 dst 디렉터리에 재귀적으로 이동시킨다.

glob 모듈

  • 경로의 모든 디렉토리,파일을 출력
  • 데이터 명들을 리스트 형태로 불러와 한 눈에 규칙성을 볼 수 있게 해주는 기능.

    A = glob.glob('원하는 문자열*.확장자')

  • 특정한 문자열 포함 파일은 공통된 문자열만 입력한 뒤에 다른 문자열이 나오면 *로 대체해주면 모두 읽히게 된다.

tempfile 모듈

  • 파일을 임시로 만들어서 사용할 때 유용한 모듈

time 모듈

  • Epoch Time
    파이썬의 time 내장 모듈은 주로 epoch time(Unix time, POSIX time)을 다룰 때 사용합니다. epoch time은 UTC(GMT+0) 기준으로 1970년 1월 1일 0시 0분 0초부터의 경과 시간을 나타내는데 흔히 timestamp라고 불리기도 합니다.

인간이 사용하는 사용하는 날짜와 시간에는 시간대(time zone), 일광절약타임(date light saving), 윤년/윤달, 양력/음력 등 여러 가지 복잡한 개념들이 많이 들어가 있습니다. 따라서 전산 시스템에서는 이렇게 복잡한 날짜와 시간을 모델링하는 대신에, epoch time을 이용해서 시간을 단순하게 숫자로 저장하고 처리하는 경우가 많습니다.

  • time.localtime()
    localtime() 함수는 주어진 timestamp 값을 현지 시간대 기준의 struct_time 타입 데이터로 변환해줍니다.
from time import localtime

tm = localtime(1649637016.7605205)

print("year:", tm.tm_year)
print("month:", tm.tm_mon)
print("day:", tm.tm_mday)
print("hour:", tm.tm_hour)
print("minute:", tm.tm_min)
print("second:", tm.tm_sec)
  • time.asctime()
    time.localtime()에 의해 반환된 튜플 형태의 값을 인수로 받아서 날짜와 시간을 알아보기 쉬운 형태로 돌려주는 함수

-gmtime()
gmtime() 함수는 주어진 timestamp 값을 GMT 기준의 struct_time 타입 데이터로 변환해줍니다.

from time import gmtime

gmtime(1575142526.500323)

#result
# time.struct_time(tm_year=2019, tm_mon=11, tm_mday=30, tm_hour=19, tm_min=35, tm_sec=26, tm_wday=5, tm_yday=334, tm_isdst=0)
  • strftime() 함수: struct_time 객체를 특정 포멧의 문자열로 변환

calender 모듈
달력 관련 모듈

random 모듈

profile
Kyunghee univ. IE 21

0개의 댓글