라이브러리(library)
파이썬 라이브러리: 전 세계의 파이썬 사용자들이 만든 유용한 프로그램을 모아 놓은 것.
어떤 일을 할 때 어떤 라이브러리를 사용해야 하는 지를 알기 위해서는 어떤 라이브러리가 존재하고 어떻게 사용하는지를 아는 것이 좋다.
sys
sys 모듈은 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈이다.
1) 명령 행에서 인수 전달하기: sys.argv
해당 기능을 확인해보기 위해 예제를 만들어 따라해 본다.
먼저, 특정 디렉터리에 argv_test.py 파일을 만든다.
(필자는 C:\...Do_it_PY\Mymod 디렉터리 내에 만들었다.)
해당 파일에 아래와 같이 코드를 입력하고
import sys
print(sys.argv)
명령 프롬프트 창에서 해당 디렉터리(필자의 경우 Mymod) 로 들어간 뒤 다음과 같이 실행해본다.
python argv_test.py you need python
python 명령어 두의 모든 것들이 공백을 기준으로 나뉘어서 sys.argv 리스트의 요소가 된다.
2) 강제로 스크립트 종료하기: sys.exit
sys,exit는 대화형 인터프리터를 종료하는 것과 같은 기능을 한다. 프로그램 파일 안에서 사용하면 프로그램을 중단시킨다.
sys.exit()
3) 자신이 만든 모듈 불러와 사용하기: sys.path
sys.path는 파이썬 모듈들이 저장되어 있는 위치를 나타낸다. 즉 이 위치에 있는 파이썬 모듈은 경로에 상관없이 어디에서나 불러올 수 있다.
import sys
sys.path
" " 는 현재 디렉터리를 말한다.
import sys
sys.path.append("C:\Users\niceq\Documents\DataScience\Do_it_PY\Mymod")
위와 같이 파이썬 프로그램 파일에서 sys.path.append 파일을 사용해 경로 이름을 추가할 수 있다.
이렇게 하고나면 해당 디렉터리에 있는 파이썬 모듈을 불러와서 사용할 수 있다.
pickle
pickle은 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈이다.
1) pickle 모듈의 dump 함수를 이용하여 자료를 저장
해당 함수를 이용하여 딕셔너리 객체인 data 를 그대로 파일에 저장하는 예
import pickle
f = open("test.txt", 'wb')
data = {1: 'python', 2: 'you need'}
pickle.dump(data, f)
f.close()
2) pickle.load 를 사용해서 자료 불러오기
앞서 pickle.dump 로 저장한 파일을 pickle.load 를 사용하여 원래 있던 딕셔너리 객체(data) 상태 그대로 불러오는 예
import pickle
f = open("test.txt", 'rb')
data = pickle.load(f)
print(data)
위의 예인 딕셔너리 외에도 어떤 자료형이든 저장하고 불러올 수 있다.
OS
OS 모듈은 환경 변수나 디렉터리, 파일 등의 OS 자원을 제어할 수 있게 해주는 모듈이다.
1) 내 시스템의 환경 변수 값을 알고 싶을 때: os.environ
환경 변수에 대한 정보를 딕셔너리 객체로 돌려준다.
만약 PATH 환경 변수 내용을 보고 싶다면,
os.environ['PATH']
2) 디렉터리 위치 변경하기: os.chdir
3) 디렉터리 위치 돌려받기: os.getcwd
현재 자신의 디렉터리 위치를 돌려준다
3) 시스템 명령어 호출하기: os.system
시스템 자체의 프로그램이나 기타 명령어를 파이썬에서 호출한다.
os.system("dir")
4) 실행한 시스템 명령어의 결괏값 돌려받기: os.popen
시스템 명령어를 실행한 결괏값을 읽기 모드 형태의 파일 객체로 돌려준다.
f = os.popen("dir")
# 읽어들인 파일 객체 내용 보기
print(f.read())
[보다 자세한 내용]
[파이썬] os(Operating System) 모듈이란?
다양한 기능을 제공하는 os 모듈 파이썬에는 기본적으로 제공되는 다양한 모듈이 있다. 이러한 모듈은 모두 유용하게 사용되지만 자주 사용되는 모듈 가운데 os라는 모듈이 있다. os 모듈은 Operat
puppy-foot-it.tistory.com
shutil
파일을 복사해 주는 파이썬 모듈이다.
# 파일 복사 예
import shutil
shutil.copy("src.txt", "dst.txt")
위의 코드를 예로 들면, src 라는 이름의 파일(txt) 을 dst 로 복사한다.
만약 dst가 디렉터리 이름이라면 src라는 파일 이름으로 dst 디렉터리에 복사하고 동일한 파일 이름이 있을 경우에는 덮어쓴다.
glob
1) 디렉터리에 있는 파일들을 리스트로 만들기: glob(pathname)
glob 모듈은 디렉터리 안의 파일들을 읽어서 돌려준다.
*, ? 등의 메타문자를 써서 원하는 파일만 읽어 들일 수도 있다.
만약, 필자의 C:\Users\niceq\Documents\DataScience\Python ML Guide\Source Code 디렉터리 내에 있는 파일 중 '04' 로 시작하는 파일을 모두 찾아서 읽어 들인다고 하면
import glob
glob.glob("C:/Users/nieq/Documents/DataScience/Python ML Guid/Source Code/04*")
tempfile
파일을 임시로 만들어서 사용할 때 유용한 모듈이다.
1) tempfile.mkstemp(): 중복되지 않는 임시 파일의 이름을 무작위로 만들어서 돌려준다.
import tempfile
filename = tempfile.mkstemp()
filename
해당 경로에 임시 파일이 생성된 것을 확인할 수 있다.
2) tempfile.TemporaryFile(): 임시 저장 공간으로 사용할 파일 객체를 돌려준다.
이 파일은 기본적으로 바이너리 쓰기 모드(wb)를 갖는다. f.close()가 호출되면 이 파일 객체는 자동으로 사라진다.
import tempfile
f = tempfile.TemporaryFile()
f.close()
time
시간과 관련된 모듈
1) time.time(): 협정 세계 표준시(UTC) 를 사용하여 현재 시간을 실수 형태로 돌려주는 함수.
1970년 1월 1일을 기준으로 지난 시간을 초 단위로 돌려준다.
import time
time.time()
2) time.localtime
time.time()이 돌려준 실수 값을 사용해서 연도, 월, 일, 시, 분, 초, .. 의 형태로 바꾸어 주는 함수
time.localtime(time.time())
3) time.asctime
time.localtime에 의해서 반환된 튜플 형태의 값을 인수로 받아서 날짜와 시간을 알아보기 쉬운 형태로 돌려주는 함수
time.asctime(time.localtime(time.time()))
4) time.ctime
위의 코드는 time.ctime() 을 사용해 간편하게 사용할 수 있다.
단, asctime과 다른 점은 ctime은 항상 현재 시간만을 돌려준다.
time.ctime()
5) time.strftime
strftime 함수는 시간에 관계된 것을 세밀하게 표현하는 여러 가지 포맷 코드를 제공한다.
time.srtftime('출력할 형식 포맷 코드', time.localtime(time.time()))
코드 | 설명 | 예 |
%a | 요일 줄임말 | Mon |
%A | 요일 | Monday |
%b | 달 줄임말 | Jan |
%B | 달 | January |
%c | 날짜와 시간을 출력함 | 06/01/01 17:22:21 |
%d | 날(day) | [01,31] |
%H | 시간(hour): 24시간 출력 형태 | [00,23] |
%I | 시간(hour): 12시간 출력 형태 | [01,12] |
%j | 1년 중 누적 날짜 | [001,366] |
%m | 달 | [01,12] |
%M | 분 | [01,59] |
%p | AM or PM | AM |
%S | 초 | [00,59] |
%U | 1년 중 누적 주: 일요일 시작 | [00,53] |
%w | 숫자로 된 요일 | [0(일요일),6] |
%W | 1년 중 누적 주: 월요일 시작 | [00,53] |
%x | 현재 설정된 지역에 기반한 날짜 출력 | 06/01/01 |
%X | 현재 설정된 지역에 기반한 시간 출력 | 17:22:21 |
%Y | 연도 출력 | 2001 |
%Z | 시간대 출력 | 대한민국 표준시 |
%% | 문자 | % |
%y | 세기 부분을 제외한 연도 출력 | 01 |
[time.strftime 예]
time.strftime('%x', time.localtime(time.time()))
time.strftime('%c', time.localtime(time.time()))
6) time.sleep
해당 함수는 주로 루프 안에서 많이 사용한다. 이 함수를 사용하면 일정한 시간 간격을 두고 루프를 실행할 수 있다.
import time
for i in range(10):
print(i)
time.sleep(1)
위 코드는 1초 간격으로 0부터 9까지의 숫자를 출력한다.
다음 내용
[출처]
점프 투 파이썬, 이지스 퍼블리싱, 박응용
'[파이썬 Projects] > <파이썬 기초>' 카테고리의 다른 글
[파이썬] 파이썬 기초: 파이썬 프로그래밍 (1) | 2024.10.18 |
---|---|
[파이썬] 파이썬 기초: 라이브러리-2 (0) | 2024.10.16 |
[파이썬] 파이썬 기초: 패키지 (1) | 2024.10.16 |
[파이썬] 파이썬 기초: 모듈 (1) | 2024.10.15 |
[파이썬] 파이썬 기초: 클래스 - 2 (0) | 2024.10.15 |