我不是python的专家,今天我只是想知道这样的代码:
class MyFile(object):
@classmethod
def from_file_path(cls, file_path):
with open(file_path, 'rb') as f:
return cls(f, file_path)
@classmethod
def from_file_object(cls, file_object):
return cls(file_descriptor=file_object)
def __init__(self, file_descriptor, file_path=None):
self._file_path = file_path
self._fd = file_descriptor
self._parse()
我的目的是让with
自动调用f.close()
,但是,我想知道这种用法是否会导致内存泄漏等任何副作用或崩溃等任何不良后果?