我正在尝试打印文件的路径。我想要从当前工作目录到文件的完整路径。
我正在使用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)
将path
与os.getcwd()
结合使用以获取我正在寻找的路径会相对容易。这将给我我想要的结果。
import inspect
import os
class Foo:
def __init__(self):
path = inspect.getfile(self.__class__)
cwd = os.getcwd()
print(path[len(cwd):])
我想知道是否有更好/更简单的方法来做到这一点?
答案 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)