ProgrammingLang/python

python 여러디렉토리에 모듈 나누기

jinkwon.kim 2017. 8. 10. 10:11
728x90
반응형

python 여러디렉토리에 모듈 나누기 


  •  모듈 만들기 
    • 모듈이란 특별 한것이 아니고, class나 function등을 모아 놓은 pyhon파일이다. 

  • 분산된 모듈로드 하기
    • 모듈이 존재하는 디렉토리 경로 설정하기
    • 각 파일 상단에 sys.path.append("모듈이 존재하는 경로") 추가
      • ex )sys.path.append("../http_module/")
    • 모듈 참조
      • from FILENAME import CLASS_NAME FUNCTION_NAME
      • ex) from libhttp import * <= 해동 모듈의 모든것은 가져온다. 
      • ex) from libhttp import https_info <= 특정 클리스 또는 함수만 가져온다.
예제)디렉토리 구조 
[jk722@sniper new_ipsesm]$ tree 
.
|-- esm_collecter.py
|-- ip_top_n.txt
|-- module
|   |-- http_module
|   |   |-- libhttp.py
|   |   `-- libhttp.pyc
|   `-- ips_module
|       |-- common_module.py
|       |-- common_module.pyc
|       |-- ips_60.py
|       |-- ips_60.pyc
|       |-- libio.py
|       `-- libio.pyc
|-- protect_traffic.txt
|-- protocol_traffic.txt
|-- sensor_time.txt
|-- service_traffic.txt
|-- tags
`-- total_traffic.txt


------------------ esm_collecter.py 파일 코드----------------------
import sys
sys.path.append("module/ips_module")
sys.path.append("module/http_module")
from ips_60 import *
import datetime, time

def main():
  ips6 =  ips_60('10.0.8.51','443','1')
  ip = ips6.get_ipaddr()
  print ip
  port = ips6.get_port()
  print port
  sn_num = ips6.get_sn_number()
  print sn_num

  date = time.localtime(time.time())
  day=time.strftime("%Y%m%d%H%M",date)
  print "time "+day


  #시간 동기화
  ips6.refresh_time()
  ips6.collect_ips_information()

  return 0;


if __name__ == "__main__":
      main()                    

        

자세한 참고는 다름사이트 참고 

https://wikidocs.net/29

728x90
반응형