从当前工作目录开始获取类的文件路径

时间:2016-06-16 08:42:33

标签: python python-3.x filepath

我正在尝试打印文件的路径。我想要从当前工作目录到文件的完整路径。

我正在使用inspect模块来查找文件的路径。然而,这将给我一条完整的道路,而不是我正在寻找的道路。

import inspect

class Foo:
    def __init__(self):
        print(inspect.getfile(self.__class__))

现在对于文件名本身,我可以使用os.path.basename。但这会给我一个文件名,这也不是我想要的。

import inspect
import os

class Foo:
    def __init__(self):
        path = inspect.getfile(self.__class__)
        filename = os.path.basename(path)
        print(path)
        print(filename)

pathos.getcwd()结合使用以获取我正在寻找的路径会相对容易。这将给我我想要的结果。

import inspect
import os


class Foo:
    def __init__(self):
        path = inspect.getfile(self.__class__)
        cwd = os.getcwd()
        print(path[len(cwd):])

我想知道是否有更好/更简单的方法来做到这一点?

1 个答案:

答案 0 :(得分:2)

我认为os.path.relpath()符合您的要求。

示例:

import os, inspect

class Foo():
    def __init__(self):
        self.path = os.path.relpath(inspect.getfile(self.__class__))


foo = Foo()
print(foo.path)