라이브러리란? 전 세계의 파이썬 사용자들이 만든 유용한 프로그램을 모아 놓은 것. 파이썬을 설치할 때 자동으로 컴퓨터에 설치한다.
sys모듈은 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈이다.
C:/doit/Mymod>python argv_test.py you need python
=> argv_test.py 에서 import sys, print(sys.argv) 실행
=> ['argv_test.py','you','need','python']
python 명령어 뒤의 모든 것들이 공백을 기준으로 나뉘어서 sys.argv리스트의 요소가 된다.
프로그램 파일 안에서 사용하면 프로그램을 중단시킨다.
파이썬 모듈들이 저장되어 있는 위치를 나타낸다. 해당 위치에 있는 파이썬 모듈은 경로에 상관없이 어디에서나 불러올 수 있다.
import sys
sys.path
['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs',
'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages']
' ' 로 나오는 것은 현재 디렉토리.
import sys
sys.path.append("C:/doit/mymod") => 경로 이름을 추가
pickle은 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈이다.
import pickle
f = open("test.txt", 'wb')
data = {1: 'python', 2: 'you need'}
pickle.dump(data, f)
f.close()
-> pickle.dump를 이용해 객체 data를 저장. 어떤 자료형이든 저장하고 불러올 수 있다.
import pickle
f = open("test.txt", 'rb')
data = pickle.load(f)
print(data)
-> pickle.load를 이용해 저장한 data를 불러옴.
os모듈은 환경 변수나 디렉터리, 파일 등의 os 자원을 제어할 수 있게 해준다.
import os
print(os.environ)
현재 디렉터리 위치를 변경
os.chdir("경로")
os.getcwd()
import glob
glob.glob("C:/doit/mark*")
-> mark로 시작하는 파일명을 가진 모든 파일을 찾아 읽어들인다
파일을 임시로 만들어서 사용할 때 유용하다.
import tempfile
filename = tempfile.mkstemp()
기본적으로 바이너리 쓰기 모드(wb)를 갖는다. f.close()가 호출되는 경우, 이 파일 객체는 자동으로 사라진다.
import tempfile
f = tempfile.TemporaryFile()
f.close()
시간과 관련된 모듈로 함수가 굉장이 많다는 특징이 있다.
1970년 1월 1일 0시 0분 0초를 기준으로 지난 시간을 초 단위로 돌려준다.
import time
print(time.time())
time.localtime(time.time())
=> time.struct_time(tm_year=2013, tm_mon=5, tm_mday=21,tm_hour=16,
tm_min=48, tm_sec=42, tm_wday=1, tm_yday=141, tm_isdst=0)
의 형태로 리턴
time.localtime에 의해서 반환된 튜플 형태의 값을 인수로 받아 날짜와 시간을 알아보기 쉬운 형태로 돌려준다.
time.asctime(time.localtime(time.time()))
=> 'Sat Aug 29 21:26:07 2020'와 같은 형태로 리턴
time.strftime('%x',time.localtime(time.time()))
주로 루프(for, while..) 안에서 많이 사용한다.
import time
for i in range(10):
print(i)
time.sleep(1)
-> 1초 간격으로 0부터 9까지의 숫자를 출력함.
파이썬에서 달력을 볼 수 있게 해주는 모듈
import calendar
print(calendar.calendar(2020))
calendar.prcal(연도)를 입력해도 같은 결과값을 받을 수 있다.
calendar.weekday(2015,12,31)
=> 3 (목요일)
월요일 0 으로 시작해 일요일 6으로 끝난다.
calendar.monthrange(2015,12)
=> (1,31) : 1일은 화요일이고, 2015년도의 12월은 31일까지 있다.
반환되는 값은 튜플 형태의 값으로 돌아온다.
난수(규칙이 없는 임의의 수)를 발생시키는 모듈이다.
import random
random.rando()
random.randint(1,55)
자신의 시스템에서 사용하는 기본 웹 브라우저를 자동으로 실행하는 모듈.
import webbrowser
webbrowser.open("http://google.com")
-> 사용하는 웹 브라우저를 열고 google로 이동된다.
-> 이미 브라우저가 실행 된 상태라면 입력된 주소로 이동한다.
webbrowser.open_new("http://google.com")
-> open_new를 사용할 경우, 이미 브라우저가 실행된 상태이더라도 새로운 창으로 해당 주소가 열리게 한다.