모듈
- .py 확장자를 가진 파일 안에 함수들과 변수 또는 클래스들을 정의
- 추후에 재사용을 위해 작성. import 명령을 통해 모듈을 사용
- Docstring 처럼 “””…”””” 형식으로 모듈의 문서화정보 입력 가능
- 코드의 재사용
- 작업의 효율성
- 별도의 이름 공간 제공
import 모듈명
import 모듈명 as 모듈별칭
from 모듈명 import 변수 or 함수 #모듈 이름을 생락하고 함수 사용 가능
from 모듈명 import * #해당 모듈의 __로 시작하는 이름을 제외한 모든 이름 사용가능
from 모듈명 import 이름 as 별칭
import simple.module.mymodule
simple.module.mymodule.hello()
simple.module.mymodule.bye()
user = simple.module.mymodule.User("홍길동", 30)
print(user.getName())
print(user.getAge())
import simple.module.mymodule as my
my.hello()
my.bye()
user = my.User("이순신", 20)
print(user.getName())
print(user.getAge())
from simple.module import mymodule
mymodule.hello()
mymodule.bye()
user = mymodule.User("김유신", 30)
print(user.getName())
print(user.getAge())
from simple.module.mymodule import hello, bye, User
hello()
bye()
user = User("강감찬", 40)
print(user.getName())
print(user.getAge())
from simple.module.mymodule import User as U
user = U("대조영", 36)
print(user.getName())
print(user.getAge())
자주 사용하는 모듈
OS 모듈
- 운영체제에서 제공되는 기본적인 기능들을 제공하는 메소드들
import os
#print(os.__doc__)
#print(help(os))
#print(help(os.mkdir))
#python -m pydoc -p 3333
path = "c:/"
for file in os.listdir(path):
if os.path.isdir(path+file):
print("폴더 :" , file)
else :
print("파일 :", file)
print(os.path.split(path + file))
print(os.path.abspath("."))
if not os.path.exists("test") :
os.mkdir("test")
if os.path.exists("test"):
os.rmdir("test")
SYS 모듈
import sys
print( sys.exc_info() ) # 현재 발생한 예외정보를 튜플로 리턴
# sys.exit( 0 )
print( sys.modules ) # 현재 로딩되어 있는 모듈들을 사전 형태로 리턴
print( sys.path ) # 모듈을 찾을 때 참조하는 경로를 리턴
print( sys.version ) # 버전을 리턴
print( sys.version_info )
logging 모듈
import logging, platform
print( platform.platform() )
if platform.platform().startswith( "Window" ) :
# 윈도우인 경우
logfile = os.path.join( os.getenv( "HOMEDRIVE" ), os.getenv( "HOMEPATH"), "test.log" )
else :
# 윈도우가 아닌 경우
logfile = os.path.join( os.getenv( "HOME" ), "test.log" )
print( logfile )
logging.basicConfig(
level=logging.ERROR,
format="%(asctime)s : %(levelname)s : %(message)s",
filename=logfile,
filemode="w"
)
logging.debug( "디버그" )
logging.info( "정보" )
logging.warning( "경고" )
logging.error( "에러" )
logging.critical( "크리티컬" )