파이썬에서 os.pardir 이 무슨 뜻인가요?

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답변

  • 좋아요

    0

    싫어요
    채택취소하기

    os.pardir 은 현재 디렉토리의 부모디렉토리를 가리킵니다.

    sys.path.append(os.pardir) 를 sys.path.append('C:\Coding\DeepLearning') 이렇게 수정해서 테스트 해보세요

    그리고 C:\Coding\DeepLearning\dataset 디렉토리에 __init__.py가 있어야 합니다.

    파이썬의 package 항목을 더 공부해보세요.

    • 답변 감사합니다 ^^. 근데 추가로 궁금한 것이 있는데 저 디렉토리를 저 예제를 연습하면서 계속 사용할텐데, 모든 파일마다 저렇게 sys.path.append() 함수를 이용해서 경로를 설정해주어야 하나요? 다른 설정을 통해서 저 경로를 기본 경로로 등록시킬 수는 없나요? yym0329 2018.3.3 22:40
  • import sys
    sys.path
    

    의 값을 확인하여 설정된 path를 알 수 있습니다.

    그 path들중에 추가해도 되며 별도의 path를 추가하고 싶다면

    위의 sys.path.append 로 런타임때 추가하는 방법도 있고

    윈도우라면 환경변수 등록하는 곳에

    변수 이름: PYTHONPATH

    변수 값: %PYTHONPATH%;원하는 path

    와 같은 형태로 시스템 전역적으로 설정할 수 있습니다.

    • 감사합니다 ! yym0329 2018.3.6 00:18

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.