파이썬에서 os.pardir 이 무슨 뜻인가요?
조회수 8214회
import sys, os
os.chdir("C:\Coding\DeepLearning")
sys.path.append(os.pardir)
import numpy as np
from dataset.mnist import load_mnist
from TwoLayerNet import TwoLayerNet
이 구절에서 os.pardir 이 무슨 뜻이죠? 저기에다가 저 파일이 존재하는 디렉토리의 경로를 붙여넣기 하라는 뜻인가요? 저 파일은
C:\Coding\DeepLearning\Backforward
이 경로에 존재하는 파일이고 그 밑에 있는 mnist 모듈은
C:\Coding\DeepLearning\dataset
이 경로에 존재합니다.
저렇게 실행시키면
Traceback (most recent call last):
File "C:\Coding\DeepLearning\Backforward\gradient_check.py", line 5, in <module>
from dataset.mnist import load_mnist
ModuleNotFoundError: No module named 'dataset'
[Finished in 0.522s]
이런 오류 코드를 뽑아내내요.
2 답변
-
os.pardir 은 현재 디렉토리의 부모디렉토리를 가리킵니다.
sys.path.append(os.pardir) 를 sys.path.append('C:\Coding\DeepLearning') 이렇게 수정해서 테스트 해보세요
그리고 C:\Coding\DeepLearning\dataset 디렉토리에
__init__.py
가 있어야 합니다.파이썬의 package 항목을 더 공부해보세요.
-
import sys sys.path
의 값을 확인하여 설정된 path를 알 수 있습니다.
그 path들중에 추가해도 되며 별도의 path를 추가하고 싶다면
위의 sys.path.append 로 런타임때 추가하는 방법도 있고
윈도우라면 환경변수 등록하는 곳에
변수 이름: PYTHONPATH
변수 값: %PYTHONPATH%;원하는 path
와 같은 형태로 시스템 전역적으로 설정할 수 있습니다.
댓글 입력