본문 바로가기
언어/Python

[Python 기본 공부정리] 13-3. 라이브러리(library)

by 민-Zero 2020. 1. 14.

공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다.

틀린 부분에 대한 지적은 감사합니다.

6. tempfile

임시적으로 파일을 만들어 사용할때 유용하게 쓰이는 라이브러리이다.

① tempfile.mktemp() : 임시로 중복되지 않는 이름의 파일을 만들어서 돌려주는 함수이다.

임시로 tmpd5l11vup라는 이름의 파일이 생성된 것을 확인할 수 있다.

 

② tempfile.TemporaryFile(모드) : 임시적인 저장공간으로 사용될 파일 객체를 돌려주는 함수이다. 모드를 따로 설정하지 않을경우 w+b모드를 갖는다.

기본적으로 w+b모드를 가지기 때문에 따로 모드를 설정해주지 않으면 Hello라는 문자열을 입력하지 못하게 된다.

따라서 텍스트 모드를 붙여서 모드를 설정해야 하고 파일 객체이기 때문에 f.close()를 호출해야 해당 객체가 사라지게된다.

 

7. time

시간과 관련된 함수들을 사용할 수 있게해주는 라이브러리로 굉장히 많은 내용이 담겨있다. 자주 사용되는 몇가지를 정리하자.

① time.time() : 1970년 1월 1일 0시 0분 0초를 기준으로 지난 시간을 초단위로 돌려주는 함수이다. UTC(Universal Time Coordinated, 세계 협정 표준시)를 이용해서 실수 형태로 반환한다.

 

② time.localtime : time.time()을 통해서 얻어온 실수값을 이용해서 년도 월일시분으로 바꾼값을 가지는 객체를 반환하는 함수이다. 

localtime함수에 time.time()함수를 인자로 넘겨도 되고 안넘겨도 동일한 값을 반환한다.

반환해 주는 struct_time객체의 속성은 다음과 같다.

tm_year : 년도
tm_mon : 월
tm_mday : 일
tm_hour : 시간 (0~23) 
tm_min : 분
tm_sec : 초
tm_wday : 요일을 숫자로 표현(월요일:0~일요일:6)
tm_yday: 1월1일 부터 누적된 날짜 (1~366)
tm_isdst : 써머타임, 일광절약 시간제 (0, 1, -1)

 

③time.gmtime() : UTC 기준의 현재 시간을 가진 struct_time객체를 반환한다.

 

④ time.asctime : time.localtime()을 이용하여 반환받은 객체를 알아보기 쉬운 날짜와 시간으로 반환 해주는 함수이다.

⑤ time.ctime : time.asctime의 복잡한 문법을 간략하게 사용하는 함수이다. asctime은 localtime함수에 변화를 주면 현재가 아닌 시간을 확인할 수 있지만 ctime은 항상 현재 시간만을 돌려준다는 점이다.

 

⑥ time.strftime('포맷코드', time.localtime()) : 시간을 나타내는 포맷을 지정해서 세밀하게 표현할 수 있는 함수이다.

포맷 코드 기능 예시
%a, %A

소문자는 요일을 축약해서 표시

대문자는 요일을 축약하지 않고 표시

%a -> Mon 

%A -> Monday

%b, %B

소문자는 월을 축약해서 표시

대문자는 월을 축약하지 않고 표시

%b -> Jan 

%B -> January

%c 날짜와 시간을 출력 20/01/14 13:21:10
%d 날(day) 01~31
%H 시간을 24시간 단위로 출력 0~23
%I 시간을 12시간 단위로 출력 0~12
%j 해당 년도중 누적 날짜 1~366(윤달일 경우 366)
%m 1~12
%M 1~59
%p 오전 오후 AM or PM
%S 0~59
%U 해당 년도중 누적 주(일요일 시작) 0~53
%w 요일 0:일요일 ~ 6
%W 해당 년도중 누적 주(월요일 시작) 0~53
%x 현재 설정된 날짜 출력 20/01/01
%X 현재 설정된 시간 출력 13:12:34
%y, %Y

소문자는 세기부분 생략하고 년도 출력

대문자는 년도 출력

%y -> (2019 ->19)

%Y -> 2020

%Z 시간대 출력 대한민국 표준시

⑦time.sleep(초) : 루프문 안에서 많이 사용된다. 일정한 시간 간격을 주기위해서 사용하는 함수이다. 초부분에 1을 쓰면 1초 0.5를 쓰면 0.5초가 되며 입력한 초만큼 정지했다가 동작한다.

출력되는 것을 확인해보면 1초간격을 주고 1, 2, 3, .. , 10이 출력되는 것을 확인할 수 있다.

8. calendar

calendar는 파이썬에서 달력을 볼 수 있게 해주는 라이브러리 이다.

① calendar.calendar(년도), calendar.prcal(년도) : 해당 년도에 관한 전체 달력을 출력해준다.

② calendar.prmonth(년도, 월) : 해당 년도의 월에 관한 달력 출력해준다.

③ calendar.weekday(년도, 월, 일) : 입력 받은 날짜의 요일을 구해준다.

월요일은 0, 화요일은 1, 수요일은 2, 목요일은 3, 금요일은 4, 토요일은 5, 일요일은 6으로 값을 반환해준다.

2020년 1월 14일은 화요일 이므로 1을 반환하는 것을 확인할 수 있다.

 

④ calendar.monthrange(년도, 월) : 입력받은 년도의 달에 1일이 무슨 요일인지와 그달이 몇일로 끝나는지를 튜플로 반환해준다. (요일, 마지막 일) 요일은 weekday와 같이 숫자로 월:0부터 표시한다.

2020년 1월의 1일은 수요일이고 31일까지 있음을 알 수 있다.

 

댓글