[Python] 상위 폴더 import 방법

2022. 2. 12. 10:002018년 이전 관심사/프로그램 언어

반응형

아래와 같은 폴더 구조로 파일이 있을 때, WizFi360_MacScan.py에서 testScheduleFactory.py를 Import 하는 방법을 설명 한다.

\---PythonTestCode
    +---testScheduleManager
    |   |   testScheduleFactory.py
    |
    \---unitTest
            WizFi360_MacScan.py

 

sys.path는 파이썬 라이브러리들이 설치 되어 있는 디렉터리들을 보여 준다. 만약 파이썬 모듈이 위의 디렉터리에 들어 있다면 모듈이 저장된 디렉터리로 이동할 필요 없이 바로 불러서 사용 할 수 있다.

 

아래 코드를 이용하면, 현재 파일의 상위 폴더(PythonTestCode)를 sys.path에 등록한다.

sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))

PythonTestCode 폴더가 sys.path에 등록 되었기 때문에, WizFi360_MacScan.py 파일에서 testScheduleManager 폴더를 import 할 수 있다.

import unittest
import os
import sys

from typing import List

sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))

from testScheduleManager.testScheduleFactory import testScheduleFactory

class WizFi360_MacScanTests(unittest.TestCase):
    def setUp(self):
        self.testSchedulerThreadList:List[testSchedulerBase] = []

    def tearDown(self):
        pass

    def test_runs(self):
        pass

if __name__ == '__main__':
    unittest.main()
반응형