2023. 6. 17. 16:43ㆍ공부한 내용/점프 투 파이썬
1. 파이썬 라이브러리
1) 파이썬 라이브러리 정의
*전 세계의 파이썬 사용자들이 만든 유용한 프로그램을 모아놓은 것
*파이썬을 설치할 때 자동으로 컴퓨터에 설치됨
(물론 따로 설치해야 하는 라이브러리도 존재함)
2) sys
*파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈
① sys.argv: 명령 행에서 인수 전달하기
-파이썬 파일을 cmd 창에서 실행할 때, 어떠한 값을 파일에 전달하는 역할
argv_test.py
import sys
print(sys.argv)
#명령 프롬프트 창에서 argv_test.py 실행
C:/python argv_test.py you need python
#> ["argv_test.py", "you", "need", "python"]
-명령 프롬프트 창에서 python 파일 뒤에 또 다른 입력값을 함께 넣어주면, 공백을 기준으로 나뉘어 sys.argv 리스트의 요소가 됨
② sys.exit
-강제로 스크립트 종료하기
sys.exit()
-프로그램 파일 안에서 사용하면 프로그램을 중단시킴
-[Ctrl + Z]나 [Ctrl + D]를 눌러서 대화형 인터프리터를 종료하는 것과 같은 기능
③ sys.path
-자신이 만든 모듈을 불러와 사용하기
-파이썬 모듈들이 저장되어 있는 위치를 나타냄
-이 위치에 있는 파이썬 모듈은 경로에 상관없이 어디에서나 불러오기 가능
import sys
sys.path
[(지정한 경로들을 리스트 요소 형태로 불러옴)]
import sys
sys.path.append(새로운 경로) #새로운 경로 추가
3) pickle
*객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈
① pickle.dump
(ex) 딕셔너리 객체를 그대로 파일에 저장
import pickle
f = open("test.txt", "wb")
data = {1: "python", 2: "you need"}
pickle.dump(data, f)
f.close()
② pickle.load
(ex) pickle.dump로 저장한 파일을 원래 딕셔너리 객체 상태로 불러오기
import pickle
f = open("test.txt", "rb")
data = pickle.load(f)
print(data)
#> {1: "python", 2:"you need"}
4) os
*환경 변수나 디렉터리, 파일 등의 os 자원을 제어할 수 있게 해주는 모듈
① os.environ
-현재 시스템의 환경 변수에 대한 정보를 딕셔너리 객체로 반환
import os
os.environ
#> environ({"PROGRAMFILES": "C:\\Program Files", ...})
② os.chdir
-디렉터리 위치 변경
os.chdir("C:\Users\Desktop")
(*p.s 주피터 노트북이나 구글 코랩 등에서는 굳이 os 라이브러리 호출할 필요 없이 %cd 명령어로도 가능)
③ os.getcwd
-현재 디렉터리 위치 반환
os.getcwd()
④ os.system
-시스템 자체의 프로그램(ex. exe파일)이나 기타 명령어를 파이썬에서 호출할 수 있음
⑤ os.popen
-시스템 명령어를 실행한 결과값을 읽기 모드 형태의 파일 객체로 반환
⑥ os.mkdir(디렉터리)
-디렉터리 생성
⑦ os.rmdir(디렉터리)
-디렉터리 삭제
-단 디렉터리가 비어 있어야 삭제 가능
⑧ os.unlink(파일 이름)
-파일 지움
⑨ os.rename(src, dst)
-src라는 이름의 파일을 dst라는 이름으로 변경
5) shutil
*파일을 복사해주는 파이썬 모듈
(ex) src라는 이름의 파일을 dst로 복사
-dst가 디렉터리 이름이라면 src라는 파일 이름으로 dst 디렉터리에 복사
-동일한 파일 이름이 있을 경우에는 덮어 씀
import shutil
shutil.copy("src.txt", "dst.txt")
6) glob
*특정 디렉터리에 있는 파일들을 리스트로 반환
-*, ? 등 메타 문자를 써서 원하는 파일만 읽어 들일 수 있음
(ex) C:\doit 디렉터리에 있는 파일 중 이름이 mark로 시작하는 파일 모두 찾기
import glob
glob.glob("C:\doit\mark*")
*p.s 추가: [Python] glob.glob() 사용법 : 네이버 블로그 (naver.com)
7) tempfile
*파일을 임시로 만들어서 사용
① tempfile.mkstemp
-중복되지 않는 임시 파일의 이름을 무작위로 생성하여 반환
import tempfile
filename = tempfile.mkstemp()
filename
#> C:\WINDOWS\TEMP\--2346-0
② tempfile.TemporaryFile
*임시 저장 공간으로 사용할 파일 객체 반환
*기본적으로 바이너리 쓰기 모드(wb)
*f.close()가 호출되면 생성된 임시 파일 객체는 자동으로 사라짐
import tempfile
f = tempfile.TemporaryFile()
f.close()
8) time
① time.time
-UTC(Universal Time Coordinated, 협정 세계 표준시)를 사용하여 현재 시간을 실수 형태로 반환
(ex) 9834823.134852
② time.localtime
-time.time()이 돌려준 실수값을 사용하여 연도, 월, 일, 시, 분, 초, ...의 튜플 형태로 반환
③ time.asctime
-time.localtime에서 반환된 튜플 값을 인수로 받아서 날짜와 시간을 알아보기 쉬운 형태로 반환
④ time.ctime
-현재 시간 반환
★⑤ time.strtime
-시간에 관계된 것을 세밀하게 표현하는 여러 가지 포맷 코드 제공
import time
time.strftime("%x", time.localtime(time.time()))
#> 05/01/01
time.strftime("%c", time.localtime(time.time()))
#> 05/01/01 17:22:21
⑥ time.sleep
-주로 루프 안에서 많이 사용
-일정한 시간 간격을 두고 루프를 실행할 수 있음
-인수는 실수 형태 (ex. 1이면 1초, 0.5면 0.5초)
9) calendar
① calendar.calendar(연도)
-그 해의 전체 달력 출력
② calendar.prcal(연도)
-calendar.calendar와 같은 결과
③ calendar.weekday(연도, 월, 일)
-weekday(연도, 월, 일) 함수는 그 날짜에 해당하는 요일 정보 반환
-월~일은 0~6이라는 값으로 반환
④ calender.monthrange(연도, 월)
-입력받은 달의 1일이 무슨 요일인지와 그 달이 며칠까지 있는지 튜플 형태로 반환
★10) random
*난수를 발생시키는 모듈
① random.random
(ex) 0.0에서 1.0 사이의 실수 중 난수 생성
② random.randint
(ex) 1에서 10 사이의 정수 중 난수 생성
random.randint(1, 10)
③ random.shuffle
-리스트 항목 무작위로 섞는 함수
11) webbrowser
*자신의 시스템에서 사용하는 기본 웹 브라우저를 자동으로 실행하는 모듈
(ex) 웹 브라우저를 자동으로 실행하고 해당 URL인 google.come으로 이동
import webbrowser
webbrowser.open("http://google.com")
*open 함수는 웹 브라우저가 이미 실행된 상태라면 입력 주소로 이동하고, 실행되지 않은 상태라면 새로 웹 브라우저를 실행한 후 해당 주소로 이동
*open_new 함수는 이미 웹 브라우저가 실행된 상태더라도 새로운 창으로 해당 주소가 열림
webbrowser.open_new("http://google.com")
'공부한 내용 > 점프 투 파이썬' 카테고리의 다른 글
[파이썬] 점프 투 파이썬 - 정규 표현식 (0) | 2023.06.20 |
---|---|
[파이썬] 점프 투 파이썬 - 예외 처리와 내장 함수 (0) | 2023.06.15 |
[파이썬] 점프 투 파이썬 - 모듈과 패키지 (0) | 2023.06.15 |
[파이썬] 점프 투 파이썬 - 클래스 (0) | 2021.07.04 |
[파이썬] 점프 투 파이썬 - 함수, 파일 입출력 (0) | 2021.07.01 |