这个问题之前在StackOverflow上已经被讨论过 - 我正在尝试找到一种好的方法来查找文件对象的绝对路径,但我需要它能够经受住os.chdir()
的影响,因此不能使用
f = file('test')
os.path.abspath(f.name)
相反,我想知道以下是否是一个好的解决方案——基本上是扩展文件类,以便在打开时保存文件的绝对路径:
class File(file):
def __init__(self, filename, *args, **kwargs):
self.abspath = os.path.abspath(filename)
file.__init__(self, filename, *args, **kwargs)
那么可以这样做
f = File('test','rb')
os.chdir('some_directory')
f.abspath # absolute path can be accessed like this
这样做有什么风险吗?