@contextmanagerdefopen(self,mode:str="r",*,client_config:dict[str,Any]|None=None,**open_kwargs,)->Iterator[Any]:"""Open the file and return a file-like object. Default to text mode"""withsuper().open(mode=mode,client_config=client_config,**open_kwargs)asstream:yieldstream
read
read(**open_kwargs)
Return file contents as text (default mode for TextFile).
defread_text(self,**open_kwargs):"""Return file contents as text. **open_kwargs : Any Extra keyword arguments forwarded to ``open()`` (e.g. encoding). """withself.open(**open_kwargs)asstream:returnstream.read()
defsave(self,destination:str,client_config:dict|None=None)->"TextFile":"""Writes its content to destination"""result=super().save(destination,client_config=client_config)tf=TextFile(**result.model_dump())tf._set_stream(self._catalog)returntf