TOP
class="layout-aside-left paging-number">
본문 바로가기
[파이썬 Projects]/<파이썬 기초>

[파이썬] 파이썬 기초: 라이브러리-1

by 기록자_Recordian 2024. 10. 16.
728x90
반응형
라이브러리(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까지의 숫자를 출력한다.


다음 내용

 


[출처]

점프 투 파이썬, 이지스 퍼블리싱, 박응용

 

 

728x90
반응형