
Python External 함수 알아보기
# Chapter08-2
# 파이썬 외장(External) 함수
# 실제 프로그램 개발 중 자주 사용하는 주요 모듈 실습
# 주요 모듈 : sys, pickle, os, time, random, webbrowser 등
# 예제 1 : sys.argv (실행 시 인자값 확인)
import sys
print(sys.argv) # 실행 시 전달받은 인자 리스트 출력
print()
# 예제 2 : 강제 종료 (사용 시 주석 해제)
# sys.exit()
# 예제 3 : 파이썬 패키지 경로 확인
print(sys.path) # 파이썬이 모듈을 찾는 경로 리스트
print()
# pickle : 객체를 파일로 저장하거나 불러오는 모듈
import pickle
# 예제 4 : 객체 파일로 저장 (쓰기)
f = open("test.pobj", 'wb')
obj = {1: 'python', 2: 'study', 3: 'basic'}
pickle.dump(obj, f) # 객체 → 파일 직렬화
f.close()
# 예제 5 : 객체 파일 불러오기 (읽기)
f = open("test.pobj", 'rb')
data = pickle.load(f) # 파일 → 객체 역직렬화
print(data, type(data))
f.close()
print()
# os : 운영체제 관련 기능 (환경변수, 경로, 디렉터리 등)
import os
# 예제 6 : 환경 변수 확인
print(os.environ) # 시스템 환경 변수 전체 출력
print(os.environ['HOME']) # HOME 경로 확인
print()
# 예제 7 : 현재 작업 경로 확인
print(os.getcwd()) # get current working directory
print()
# time : 시간 관련 모듈 (시간 처리, 포맷 변환, 지연 등)
import time
# 예제 8 : 현재 시간 (timestamp)
print(time.time()) # 1970.1.1 이후 경과된 초
# 예제 9 : 구조체 형태로 변환
print(time.localtime(time.time())) # 현재 로컬 시간 정보 반환
# 예제 10 : 간단한 문자열 형태
print(time.ctime()) # 읽기 쉬운 문자열 시간
# 예제 11 : 포맷팅된 시간 출력
print(time.strftime('%y-%m-%d %H:%M:%S', time.localtime(time.time())))
# 예제 12 : 시간 지연 (1초씩 대기)
for i in range(3):
print(i)
time.sleep(1)
print()
# random : 난수 생성 모듈
import random
# 예제 13 : 0 ~ 1 사이의 난수 (실수형)
print(random.random())
# 예제 14 : 정수형 난수
print(random.randint(1, 45)) # 1~45 사이의 정수
print(random.randrange(1, 45)) # 동일하지만 range 규칙 적용
# 예제 15 : 리스트 섞기
d = [1, 2, 3, 4, 5]
random.shuffle(d)
print(d) # 리스트 순서가 무작위로 변경됨
# 예제 16 : 무작위 선택
c = random.choice([1, 2, 3, 4, 5])
print(c)
# webbrowser : 기본 웹 브라우저 실행
import webbrowser
webbrowser.open('http://google.com') # 기본 브라우저 새 탭으로 열기
webbrowser.open_new('http://google.com') # 새 창으로 열기