How do I get the filepath for a class in Python?
如果在python中有一个C类,如何确定该类是在哪个文件中定义的?我需要一些可以从C类或者从C之外的实例中工作的东西。
我之所以这样做,是因为我通常喜欢把属于同一文件夹的文件放在一起。我想创建一个使用django模板将自己呈现为HTML的类。基本实现应该根据在其中定义类的文件名推断模板的文件名。
假设我在文件"base/artifacts.py"中放置了一个类locationartifact,那么我希望默认行为是模板名为"base/locationartifact.html"。
您可以使用检查模块,如下所示:
1 2 | import inspect inspect.getfile(C.__class__) |
尝试:
1 2 | import sys, os os.path.abspath(sys.modules[LocationArtifact.__module__].__file__) |
对于姜戈来说,这是错误的做法,而且确实是强迫性的。
典型的django应用程序模式是:
- 项目
- /AppNd
- 模特儿
- VIEW
- 模板
- 索引文件
- 等。
- /AppNd