[PYTHON] 파이썬에서 클래스에 대한 파일 경로를 얻으려면 어떻게해야합니까?
PYTHON파이썬에서 클래스에 대한 파일 경로를 얻으려면 어떻게해야합니까?
파이썬에서 클래스 C가 주어지면 클래스가 정의 된 파일을 어떻게 결정할 수 있습니까? 클래스 C 또는 인스턴스 C에서 작동 할 수있는 무언가가 필요합니다.
내가이 일을하는 이유는 내가 일반적으로 같은 폴더에 속한 파일들을 넣는 팬이기 때문이다. 장고 템플릿을 사용하여 자신을 HTML로 렌더링하는 클래스를 만들고 싶습니다. 기본 구현은 클래스가 정의 된 파일 이름을 기반으로 템플릿의 파일 이름을 유추해야합니다.
파일 "base / artifacts.py"에 LocationArtifact 클래스를 넣은 다음 템플릿 동작 이름이 "base / LocationArtifact.html"이되도록 기본 동작을 원한다고 가정 해 봅시다.
해결법
-
==============================
1.다음과 같이 inspect 모듈을 사용할 수 있습니다.
다음과 같이 inspect 모듈을 사용할 수 있습니다.
import inspect inspect.getfile(C.__class__)
-
==============================
2.시험:
시험:
import sys, os os.path.abspath(sys.modules[LocationArtifact.__module__].__file__)
-
==============================
3.이것이 장고에 대한 잘못된 접근이며 실제로 강제하는 것입니다.
이것이 장고에 대한 잘못된 접근이며 실제로 강제하는 것입니다.
일반적인 Django 앱 패턴은 다음과 같습니다.
from https://stackoverflow.com/questions/697320/how-do-i-get-the-filepath-for-a-class-in-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] x보다 큰 첫번째 파이썬리스트 인덱스? (0) | 2018.10.21 |
---|---|
[PYTHON] 파이썬으로 모듈을 "다시 가져 오는"다음에 코드를 가져온 후에 변경하는 방법 (0) | 2018.10.21 |
[PYTHON] 파이썬 : 파일을 표준 출력으로 출력하기 (0) | 2018.10.21 |
[PYTHON] 하나의 if-condition-assignment 행 (0) | 2018.10.21 |
[PYTHON] 파이썬에서 부울을 어떻게 사용합니까? (0) | 2018.10.21 |