C:test [dir] getpath [file] path.py [dir] sub [file] sub_path.py
예를 들어
C:test 디렉터리에는 sub라는 디렉터리도 있습니다.
C:test 디렉터리에는 getpath.py가 있고 하위 디렉터리에는 sub_path.py, getpath가 있습니다. .py는 sub_path.py를 호출합니다.
C:test에서 getpath.py를 실행합니다. 우리가 그랬다면
sub_path.py에서 sys.path[0]을 사용하면 실제로 얻는 것은 getpath.py가 있는 디렉터리 경로 "C:test"입니다.
머신은 getpath.py에서 실행을 시작합니다. sub_path.py의 경로를 얻으려면 다음을 수행해야 합니다:
os.path.split(os.path.realpath(__file__))[0]
확인:
그런 다음 C:test에서 python getpath/path.py를 실행합니다. 이때 sub_path.py의 다양한 사용법에 해당하는 값은 실제로 다음과 같습니다.
os.getcwd() "C:test" , 시작 실행 디렉터리
sys.path[0] 또는 sys.argv[0] "C:testgetpath"(처음 실행된 스크립트가 있는 디렉터리)
os.path.split(os .path.realpath(__file__)) [0] "C:testgetpathsub"는 __file__이 있는 sub_path.py 파일이 있는 디렉터리를 가져옵니다.