본문으로 바로가기

[python] 동적으로 import 모듈 가져오기

category Python 2024. 1. 13. 19:17

내가 하고 싶은 것

크롤링 하는데 커뮤니티마다 태그가 달라서 

각 커뮤니티별 태그를 저장해놓은

.py 파일을 동적으로 가져와서 크롤링하고 싶었다.

 

소스

예를 들면

디시인사이드와 뽐뿌의 태그가 저장된

dcinside_tag.py , ppomppu_tag.py 가 있다고 하자.

 

import importlib

if tagtype == 'dcinside':	
	# 디시인사이드 태그 모듈 상대 경로로 설정
    basepath = os.path.dirname(os.path.abspath(__file__))
    module_path = basepath+'\\crawling\\tag\\dcinside_tag.py'
    
if tagtype == 'ppomppu': 
	# 뽐뿌 태그 모듈 상대 경로로 설정
    basepath = os.path.dirname(os.path.abspath(__file__))
    module_path = basepath+'\\crawling\\tag\\ppomppu_tag.py'


# 모듈 경로를 사용하여 모듈 동적으로 로드
spec = importlib.util.spec_from_file_location("tag_module", module_path) 
tagmodule = importlib.util.module_from_spec(spec)
spec.loader.exec_module(tagmodule)

# tagmodule에서 꺼내서 사용하면 된다.
tagmodule.TITLE
tagmodule.TIME

 

 

좋아요 , 댓글이 큰 힘이 됩니다. 감사합니다.