반응형

/************************************************************************************************
-- Title : [PY2.7.11] 모듈 생성 및 호출
-- Reference : itsdong.com
-- Key word : 모듈 module sys.path import
************************************************************************************************/

# -*- coding: utf-8 -*-

# ---------------------------------------
# -- 모듈
# -- 함수, 변수, 클래스들을 모아놓은 파일 # -- 해당 경로가 sys.path에 등록되어야 함

# -- 파일이 반드시 .py로 저장되어야 함 # --------------------------------------- import sys # 모듈 호출 방법: import

print('명령줄 인수 체크 !!!')
for n in sys.argv: # 저장 후 실행시 인수 출력
print(n)

# C:\> ttt.py aaa bbb ccc # 경로와 aaa bbb ccc를 리스트로 출력


# ---------------------------------------
# -- sys 모듈에 경로 추가하기
# -- 실행시 매번 경로를 맞춰줘야 함
# ---------------------------------------
>>> import sys
>>> sys.path.append('D:\\PYTHON\\Project') # 모듈 생성 폴더 추가
>>> sys.path # 폴더 추가 확인
['', 'C:\\Windows\\SYSTEM32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\wx-3.0-msw', 'D:\\PYTHON\\Project']


# ---------------------------------------
# -- 사용자 모듈 만들기
# --------------------------------------- # -- module1.py로 저장
def math1(i, j):
if (i+j) == 0:
print('Sum is Zero.')
else:
print('Sum is not Zero')
return i+j

def show_info(name):
print('The name is : ' + name)

# -- 수행 1
>>> import sys
>>> sys.path.append('D:\\PYTHON\\Project')
>>> sys.path
>>>
>>> import module1 # 모듈 호출시 .py는 생략
>>> module1.math1(1,3)
Sum is not Zero
4
>>> module1.show_info('aaaa')
The name is : aaaa
>>>

# -- 수행 2
>>> import sys
>>> sys.path.append('D:\\PYTHON\\Project')
>>> sys.path
>>>
>>> from module1 import math1 # 이 방식으로 호출시 모듈명 생략 가능
>>> math1(3,3)
Sum is not Zero
6
>>> from module1 import show_info
>>> show_info('bbb')
The name is : bbb
>>> from module1 import show_info, math1
>>> math1(2,2)
Sum is not Zero
4
>>> show_info('ccc')
The name is : ccc
>>>

# -- 모듈 호출
>>> import 모듈 from 함수1, 함수2, ... 함수n

>>> impoert 모듈 from *







반응형

+ Recent posts