class_docstr: This filesystem enables to easily move files from and to the shared storage.
class_docstr_tok: ["This","filesystem","enables","to","easily","move","files","from","and","to","the","shared","storage","."]
docstr: This method enables to put a file to the shared storage in a blocking fashion.
  
  Arguments:
      src_path: The path to your files locally
      dst_path: The path to your files transfered in the shared storage.
      put_fn: The method to use to put files in the shared storage.
docstr_tok: ["This","method","enables","to","put","a","file","to","the","shared","storage","in","a","blocking","fashion",".","Arguments",":","src_path",":","The","path","to","your","files","locally","dst_path",":","The","path","to","your","files","transfered","in","the","shared","storage",".","put_fn",":","The","method","to","use","to","put","files","in","the","shared","storage","."]
code: def put(
      self, src_path: str, dst_path: str, put_fn: Callable = _copy_files
  ) -> None:
      """This method enables to put a file to the shared storage in a blocking fashion.
  
      Arguments:
          src_path: The path to your files locally
          dst_path: The path to your files transfered in the shared storage.
          put_fn: The method to use to put files in the shared storage.
  
      """
      if not os.path.exists(Path(src_path).resolve()):
          raise FileExistsError(
              f"The provided path {src_path} doesn't exist"
          )
  
      if not dst_path.startswith("/"):
          raise Exception(
              f"The provided destination {dst_path} needs to start with `/`."
          )
  
      if dst_path == "/":
          dst_path = os.path.join(
              self._root, os.path.basename(src_path)
          )
      else:
          dst_path = os.path.join(self._root, dst_path[1:])
  
      src = Path(src_path).resolve()
      dst = Path(dst_path).resolve()
  
      return put_fn(src, dst, fs=self._fs)
  
file_path: pytorch-lightning/src/lightning/app/storage/filesystem.py
imports: import os
  import shutil
  from pathlib import Path
  from typing import Callable, List
  from fsspec.implementations.local import LocalFileSystem
  from lightning.app.storage.copier import _copy_files
  from lightning.app.storage.path import _filesystem, _shared_storage_path
label_desc: Use image node_id 2 for calling the FileSystem obj's underlying member method code with example usage: obj.put(src_path, dst_path, put_fn) and returns: put_fn