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
반응형
'ProgrammingLang > python' 카테고리의 다른 글
[python] 3. 문자열 다루기 (0) | 2018.11.06 |
---|---|
[python] 2. 변수와 숫자 타입 (0) | 2018.11.06 |
[python] 1. 파이썬 개요 및 설치 (0) | 2018.11.05 |
Python에서 C를 그대로 사용하기 (0) | 2017.08.17 |
Atom에서 Python 실행시 발생하는 문제 해결 (0) | 2017.08.11 |