반응형
.py 소스 파일의 위치 가져 오기
다음 과 같이 디렉토리 e에 파이썬 파일이 있다고 가정 하십시오.
/a/b/c/d/e/file.py
디렉토리 e 아래 에 액세스하려는 폴더가 몇 개 있지만 file.py가 폴더 e 가 아닌 다른 곳에서 실행 되면 상대 경로가 작동하지 않습니다. 또한 폴더 e 는 어디에나 위치 할 수 있지만 항상 하위 폴더 집합이 있으므로 절대 경로가 작동하지 않습니다.
첫째, 소스 파일 위치와 관련하여 절대 경로를 얻는 기능이 있습니까?
그렇지 않다면 이것을 분류하는 방법에 대한 아이디어가 있습니까? 사용 된 명령 줄을 잡고 CWD를 함께 추가 하시겠습니까?
여기서 내 문제는이 폴더가 20 개의 다른 컴퓨터와 OS에 설치되고 있으며 설치해야하는 "규칙"등의 작은 구성과 "규칙"등으로 가능한 한 동적이되기를 원한다는 것입니다.
# in /a/b/c/d/e/file.py
import os
os.path.dirname(os.path.abspath(__file__)) # /a/b/c/d/e
다음은 (a) .pyc 파일이 아닌 .py 파일을 가져오고 (b) 심볼릭 링크를 정렬하는 솔루션입니다.
Linux에서 작업 할 때 .py
파일은 종종 다른 위치로 심볼릭 링크되고 .pyc
파일은 심볼릭 링크 된 py 파일 옆의 디렉토리에 생성됩니다. 소스 파일 의 실제 경로를 찾으려면 소스 경로를 찾는 데 사용하는 스크립트의 일부입니다.
try:
modpath = module.__file__
except AttributeError:
sys.exit('Module does not have __file__ defined.')
# It's a script for me, you probably won't want to wrap it in try..except
# Turn pyc files into py files if we can
if modpath.endswith('.pyc') and os.path.exists(modpath[:-1]):
modpath = modpath[:-1]
# Sort out symlinks
modpath = os.path.realpath(modpath)
참조 URL : https://stackoverflow.com/questions/7162366/get-location-of-the-py-source-file
반응형
'Programing' 카테고리의 다른 글
std :: fstream을 닫아야합니까? (0) | 2020.12.25 |
---|---|
rename_column이 인덱스를 처리합니까? (0) | 2020.12.25 |
사용자가 Google Play에서 앱을 평가했는지 어떻게 확인하나요? (0) | 2020.12.25 |
iframe에 pdf가있는 Internet Explorer에서 z-index가 작동하지 않음 (0) | 2020.12.25 |
AlertDialog에 비해 DialogFragment의 장점 (0) | 2020.12.25 |