Sta*_*ale 81 python class introspection
给定Python中的C类,如何确定该类定义的文件?我需要一些可以在C类或C语言实例中起作用的东西.
我这样做的原因是因为我一般都喜欢把属于同一文件夹的文件放在同一个文件夹中.我想创建一个使用Django模板将其自身呈现为HTML的类.基本实现应该根据定义类的文件名推断模板的文件名.
假设我在类"base/artifacts.py"中放置了一个类LocationArtifact,那么我希望默认行为是模板名称为"base/LocationArtifact.html".
DNS*_*DNS 112
您可以使用inspect模块,如下所示:
import inspect
inspect.getfile(C.__class__)
Run Code Online (Sandbox Code Playgroud)
Jar*_*die 32
尝试:
import sys, os
os.path.abspath(sys.modules[LocationArtifact.__module__].__file__)
Run Code Online (Sandbox Code Playgroud)
对于Django而言,这是错误的方法,并且实际上是强迫的。
典型的Django应用模式为: