0

虽然根据查找python模块的源文件有一些相关的线程,但我没有找到关于如何以最简单可靠的方式从python类中获取文件名的答案。对于位于的假设文件/usr/local/TestLib.py

class MyTest(object):
    def __init__(self):
        myLocation = XXX

我希望变量myLocation包含字符串/usr/local/TestLib.py__file__在我的课堂上似乎不起作用。

我该怎么做?

4

1 回答 1

3

__file__应该在这样的课堂上工作。也许您认为它不起作用,因为它不一定会返回完整路径。__file__就它如何处理路径而言,它有点时髦,所以如果你想要完整的路径,你可能必须像这个例子一样在路径的第一部分添加。(有关这方面的详细信息,请查看此问题:Python __file__ attribute absolute or relative?。

import os

class Foo:
    def __init__(self):
        self.myLoc = os.path.abspath(__file__)

f = Foo()
print f.myLoc
于 2012-08-17T07:35:27.813 回答