현재 실행 중인 Python 스크립트의 경로를 식별하는 것은 다양한 애플리케이션에서 중요한 측면입니다. 그러나 다양한 시나리오에 걸쳐 작동하는 "범용" 접근 방식을 찾는 것은 어려울 수 있습니다. 이 문서에서는 여러 가지 방법을 살펴보고 이와 관련된 제한 사항을 해결하여 궁극적으로 포괄적인 솔루션을 제시합니다.
path = os.path.abspath(os.path.dirname(__file__)): 이 방법은 다음과 같은 경우에는 작동하지 않을 수 있습니다:
실행 컨텍스트에 관계없이 현재 실행 중인 파일의 경로를 얻으려면 검사 및 os 모듈의 기능 조합을 사용할 수 있습니다.
from inspect import getsourcefile from os.path import abspath path = abspath(getsourcefile(lambda:0))
이 솔루션은 다음을 포함한 다양한 시나리오에서 소스 파일 경로를 검색하는 일관된 접근 방식을 제공합니다.
다음 디렉터리 구조를 고려하세요.
C:. | a.py \---subdir b.py
그리고 a.py 내의 코드:
#! /usr/bin/env python import os, sys print "a.py: os.getcwd()=", os.getcwd() print execfile("subdir/b.py")
subdir/b.py 내의 코드:
#! /usr/bin/env python import os, sys print "b.py: os.getcwd()=", os.getcwd() print
python a.py의 출력은 다음과 같습니다. :
a.py: os.getcwd()= C:\ b.py: os.getcwd()= C:\zzz
이는 os.getcwd()가 실행되는 스크립트의 위치와 다를 수 있는 실행 컨텍스트의 작업 디렉터리를 반영함을 보여줍니다. 이와 대조적으로 제안된 솔루션(abspath(getsourcefile(lambda:0)))은 실행 컨텍스트에 관계없이 스크립트의 소스 파일 경로를 일관되게 생성합니다.
위 내용은 Python에서 실행 파일의 경로를 어떻게 안정적으로 결정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!