我有以下奇怪的设置.考虑不同目录中的3个脚本:
- root1/folderA/scriptA.py
- root2/folderB/scriptB.py公司
- root2/folderC/scriptC.py公司
第一个文件及其位置完全可以修改.第二个和第三个是完全固定的.
脚本A.py包含父类:
class A:
def get_path(self):
# ...
# code to determine "my_path"
# ...
return my_path
脚本B.py包含一个子类:
from root1.folderA.scriptA import A
class B(A):
pass
脚本C.py包含要执行的代码:
from root2.folderB.scriptB import B
if __name__ == "__main__":
b = B()
print(b.get_path()) # want print root/folderB/scriptB.py
在scriptC中.py我想要的是获取子类声明文件路径的行为(无需任何硬编码).有没有办法让A.get_path()
人有这样的行为?
我试着研究了inspect
、os.path
和pathlib
个模块,但没有任何运气.