Это обсуждалось ранее в 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
Существуют ли какие-либо риски при этом?