[파이썬] 점프 투 파이썬 - 라이브러리

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")